物联网系统中低功耗长寿命显示屏方案_点阵液晶屏详解

电子说

1.3w人已加入

描述

物联网系统中为什么要使用点阵液晶屏

物联网系统中使用点阵液晶屏的原因主要可以归纳为以下几点:

显示内容丰富多样

高灵活性:点阵液晶屏可以通过控制每个点的亮灭来显示各种图形、文字、动画和视频,这使得它在物联网系统中能够呈现更加丰富多样的信息。

多色显示:点阵液晶屏支持单色、双色甚至全彩显示,能够显示红、黄、绿、橙等多种颜色,增强了信息的可读性和吸引力。

适应性强

多种尺寸选择:点阵液晶屏有多种尺寸可供选择,从微小的几毫米到几十厘米不等,可以根据物联网设备的具体需求进行定制。

广泛应用:由于其适应性强,点阵液晶屏被广泛应用于各种物联网设备中,如智能家居、智能穿戴、工业控制等。

低功耗与长寿命

低功耗:点阵液晶屏的工作电压低,功耗小,符合物联网设备对节能的要求。长时间工作也不会增加太多负担,有利于延长设备的整体使用寿命。

长寿命:点阵液晶屏的数字接口使用寿命长,能够稳定可靠地工作,减少了更换和维护的频率。

易于控制与维护

控制简单:点阵液晶屏的控制方式相对简单,可以通过编程来轻松实现各种显示效果,降低了开发难度。

安装与维护方便:点阵液晶屏的安装和维护都比较方便,不需要复杂的设备或专业技能,降低了使用成本。

提升用户体验

直观显示:点阵液晶屏能够直观地显示设备状态、信息提示等内容,使用户能够快速了解设备的运行情况,提升用户体验。

交互性强:部分点阵液晶屏还支持触摸功能,用户可以通过触摸屏幕来操作设备,增强了设备的交互性。

综上所述,点阵液晶屏在物联网系统中的应用具有显著的优势,能够满足物联网设备对显示内容丰富性、适应性、低功耗、长寿命以及易于控制与维护等方面的需求,从而提升物联网系统的整体性能和用户体验。

本文会再为大家详解显示屏家族中的一员——点阵液晶屏。

点阵液晶屏的定义

点阵液晶屏是按照一定顺序规则排列起来的,一般常见的有图形点阵液晶模块。他里面是有很多个点组成的,通过控制这些点来显示文字或者图形,并且可以实现出屏幕上下左右滚动以及动画功能。(如下图)LCD12864图形点阵液晶显示模块(LCM)就是由128*64个液晶显示点组成的一个128列*64行的阵列,它的每一行横向一共有128个可显示点,每一列纵向有64个,这些“点”其实也都是一个个发光二极管,每个显示点对应一位二进制数,1表示亮,0表示灭。

物联网

点阵液晶屏的显示原理

1、系统12864点阵型液晶显示屏的基本原理

数字电路中数据以0和1保存,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类少只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。

物联网

得到了汉字的内码后,利用文字的字模,即用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示:

物联网

2、汉字图形点阵液晶显示模块(QC12864B)主要技术参数和显示特性:

① QC12864B汉字图形点阵液晶显示模块,可显示汉字及图形

② 内置 8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及 64X256点阵显示 RAM(GDRAM)

③ 电源:VDD 3.3V~+5V(内置升压电路,无需负压);显示内容:128列× 64 行

④ 显示颜色:黄绿屏,蓝屏

⑤ 显示角度:6:00钟直视

⑥ LCD类型:STN

⑦ 与 MCU接口:8位并口或串行配置 LED背光

⑧ 多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等

3、QC12864B读写操作时序:

模块有并行和串行两种连接方法(时序如下):8 位并行连接时序图

MPU 写资料到模块如图4所示:

物联网

图4 MPU写资料到模块图

物联网

图5 MPU从模块读出资料图

串行连接时序图

物联网

串行数据传送共分三个字节完成:

第一字节:串口控制—格式11111ABC

① A 为数据传送方向控制:H 表示数据从 LCD 到 MCU,L 表示数据从 MCU 到 LCD

② B 为数据类型选择:H 表示数据是显示数据,L 表示数据是控制指令

③ C 固定为 0

第二字节: (并行)8 位数据的高 4 位—格式 DDDD0000

第三字节: (并行)8 位数据的低 4 位—格式 0000DDDD 串行接口时序参数:(测试条件:T=25℃ VDD=5.0V)

物联网

4、QC12864B点阵型LCD引脚功能说明:

表1 12864LCD的引脚说明

管脚号 管脚名称 LEVER 管脚功能描述
1 VSS 0 电源地
2 VDD +5.0V 电源电压
3 V0 - 液晶显示器驱动电压
4 D/I(RS) H/L D/I=“H”,表示DB7∽DB0为显示数据
D/I=“L”,表示DB7∽DB0为显示指令数据
5 R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0
R/W=“L”,E=“H→L”数据被写到IR或DR
6 E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0
R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0
7 DB0-DB7 H/L 数据线
8 CS1 H/L H:选择芯片(左半屏)信号
9 CS2 H/L H:选择芯片(右半屏)信号
10 RET H/L 复位信号,低电平复位
11 VOUT -10V LCD驱动负电压
12 LED+ - LED背光板电源
13 LED- - LED背光板电源

说明:12864点阵型液晶 C语言程序(可根据自己意愿设定指定点)

/****电子系统设计C51编程******

平台:BST-V51 + Keil U4 + STC89S52

名称:本程序驱动12864显示一幅图片(包含英文字符、汉字、图形)

日期:很久很久以前

晶振:11.0592MHZ

说明:电子小玩

编写:Sure

************/

#include

#include

#define uchar unsigned char

#define uint unsigned int

/*12864端口定义*/

#define LCD_data P0 //数据口

sbit LCD_RS = P1^0; //寄存器选择输入

sbit LCD_RW = P1^1; //液晶读/写控制

sbit LCD_EN = P2^5; //液晶使能控制

sbit LCD_PSB = P1^2; //串/并方式控制

unsigned char code zhu[]= //图片代码

{ 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x3E,0x03,0xE0,

0xFF,0xFF,0xFF,0x00,0xFE,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xF0,0xFF,0x8F,0xF8,

0xFF,0xFF,0xFF,0x00,0xFE,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0x81,0xFF,0xDF,0xFC,

0xFF,0xFF,0xFF,0x3C,0xFE,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFC,0x03,0xFF,0xFF,0xFE,

0xFF,0xF9,0xFF,0x18,0xFE,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xFE,

0xFF,0xFC,0xFF,0x18,0xFE,0x3C,0x74,0x0F,0xFF,0xFF,0xFF,0x00,0x07,0x9C,0x70,0x0F,

0xFF,0xFE,0x7F,0x18,0xFE,0x02,0x2A,0x0F,0xFF,0xFF,0xF8,0x00,0x07,0xBE,0x71,0x8F,

0xC0,0x3F,0x3F,0x18,0xFE,0x3E,0x2A,0x0F,0xFF,0xFF,0xC0,0x00,0x07,0xF7,0x73,0xCF,

0xFF,0xFE,0x7F,0x18,0xFE,0x42,0x2A,0x0F,0xFF,0xFE,0x00,0x00,0x07,0xE3,0x76,0x6F,

0xFF,0xC1,0xFF,0x3C,0xFE,0x42,0x2A,0x0F,0xFF,0xFC,0x00,0x00,0x07,0xF7,0x06,0x6F,

0xFF,0xBE,0xFF,0x00,0xFE,0x3D,0x6B,0x0F,0xFF,0xE0,0x00,0x00,0x03,0xBE,0x73,0xCE,

0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x01,0xF3,0x9C,0xF9,0x8E,

0xFF,0xBF,0x99,0x89,0xC1,0xFF,0xFE,0x00,0x0F,0xE0,0x00,0x03,0xFF,0x81,0xFC,0x0E, 0xF1,0xC1,0xD1,0xE6,0xBE,0xFE,0x00,0x00,0x0B,0xC0,0x04,0x7F,0xFD,0xF9,0xFC,0xFC, 0xFF,0xFE,0xDD,0xEF,0x80,0xFC,0x00,0x03,0x63,0x00,0x03,0xFF,0xFC,0xFD,0xFD,0xF8, 0xFF,0xFE,0xDD,0xEF,0xBF,0xE0,0x00,0x00,0xF3,0x00,0x03,0xFF,0xFC,0x7C,0xF9,0xF8, 0xFF,0xBE,0xD9,0xEF,0xBE,0xE0,0x00,0x00,0xF3,0x00,0x1F,0xFF,0xFC,0x7C,0x71,0xF0, 0xFF,0xC1,0xE4,0x83,0xC1,0x80,0x00,0x01,0x7F,0x00,0x3F,0xFF,0xFC,0x1D,0x05,0xE0, 0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x03,0x7E,0x00,0xFF,0xFF,0xFC,0x0D,0xFD,0x80, 0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x03,0x7E,0x00,0x7F,0xFF,0xE4,0x07,0xFF,0x00, 0xFF,0xFF,0x7F,0xF0,0x00,0x00,0x00,0x07,0xF8,0x00,0xFF,0xFF,0xE5,0xF9,0xFC,0x00, 0xFF,0xE3,0xAF,0xC0,0x00,0x00,0x07,0xBF,0xF8,0x00,0xFF,0xFF,0xE7,0xFE,0x70,0x00,

0xFF,0xE3,0x9F,0x80,0x00,0x00,0x0E,0x1F,0xF0,0x01,0xFF,0xFF,0xCF,0xFF,0x00,0x00, 0xFF,0xC3,0x8F,0x80,0x00,0x00,0x3E,0x4F,0xF0,0x00,0xFF,0xFC,0x0F,0xFF,0x00,0x00, 0xFF,0xC3,0x8F,0x00,0x00,0x10,0xFE,0x0F,0xE0,0x01,0xFF,0xE0,0x0F,0xFF,0x00,0x00, 0xFF,0x03,0x13,0x80,0x00,0x03,0xFC,0x8F,0xE0,0x01,0xFF,0xFF,0xC7,0xFE,0x00,0x00,

0xFF,0x04,0x12,0x80,0x00,0x00,0x7C,0x0F,0x80,0x03,0xFF,0xFF,0xC5,0xF8,0x00,0x00, 0xFE,0x0C,0x17,0xC0,0x00,0x00,0x00,0x3E,0x00,0x07,0xFF,0xFF,0xC0,0xF0,0x0E,0x00, 0xFE,0x1E,0x67,0x7E,0x30,0x00,0x00,0x08,0x00,0x07,0xFF,0xFF,0xC0,0xF8,0x1F,0x00, 0xFC,0x1C,0x42,0x7F,0x00,0x06,0x00,0x00,0x40,0x0F,0xFF,0xFF,0xC1,0xF8,0x3F,0x80, 0xFE,0x08,0x48,0x7F,0x40,0x01,0x78,0x10,0xC0,0x0F,0xFF,0xFF,0xC1,0xF8,0x7F,0xC0, 0xFE,0x08,0x08,0x7F,0x40,0x01,0x78,0x10,0xC0,0x0F,0xFF,0xFF,0xC1,0xF8,0xFF,0xE0, 0xFE,0x00,0x00,0x7E,0x60,0x00,0x00,0x10,0x80,0x3D,0xBF,0xFF,0xC1,0xF9,0xFF,0xF0,

0xFF,0x00,0x00,0x1C,0xC0,0x00,0x04,0x00,0x00,0x39,0x3F,0xFF,0xC1,0xF9,0xFB,0xF0, 0xFF,0x00,0x00,0x71,0x00,0x00,0x3C,0x00,0x00,0x39,0x3F,0xFA,0x41,0xF9,0xFF,0xF0, 0xFF,0x80,0x00,0x60,0x30,0x01,0xC0,0x00,0x00,0x01,0x1B,0x02,0x41,0xF8,0xFF,0xE0, 0xFF,0xC8,0x00,0x00,0x31,0x1F,0x00,0x00,0x40,0x00,0x00,0x02,0x41,0xF8,0x7F,0xC0, 0xFF,0xC4,0xFE,0x00,0x03,0x00,0x07,0xC7,0xC2,0x00,0x00,0x04,0x01,0xF8,0x3F,0x80, 0xFF,0xFF,0xF0,0x00,0x0F,0xE0,0x3F,0x9C,0x0F,0x80,0x00,0x04,0x01,0xF8,0x1F,0x00, 0xFF,0xFF,0xF8,0x10,0x0F,0xC0,0x7E,0x3F,0xE7,0xFF,0x00,0x00,0x01,0xF8,0x0E,0x00,

0xFF,0xFF,0xF8,0x1E,0x0F,0xE0,0x70,0x3F,0xE0,0x3F,0x00,0x00,0x01,0xF8,0x00,0x00, 0xFF,0xFF,0xFC,0x1E,0x1D,0xE0,0x77,0x00,0xE0,0x00,0x00,0x00,0x01,0xF8,0x00,0x00, 0xFF,0xFF,0xFC,0x03,0x99,0xE0,0xE7,0x36,0xE0,0x00,0x00,0x00,0x03,0xFC,0x00,0x00, 0xFF,0xFF,0xFC,0x00,0x3F,0xF0,0xC3,0x36,0xF0,0x00,0x00,0x1C,0x73,0xFC,0x00,0x00, 0xFF,0xFF,0xFC,0x18,0x7B,0x79,0xC3,0x32,0xF0,0x00,0x0F,0xFF,0xA3,0xFC,0x0E,0x00, 0xFF,0xFF,0xFC,0x1E,0x63,0x3D,0xFF,0x77,0xF0,0x00,0xDF,0xFF,0xA3,0xFC,0x1F,0x00, 0xFF,0xFF,0xFC,0x1D,0x9F,0xE1,0xFF,0xF0,0x06,0x8D,0xDF,0xFF,0xB3,0xFC,0x7F,0xC0, 0xFF,0xFF,0xFE,0x07,0x5F,0xE0,0x03,0x30,0x7F,0x89,0xDF,0xFF,0xF3,0xFC,0xFF,0xE0, 0xFF,0xFF,0xFE,0x00,0x03,0x00,0x03,0x33,0x7F,0x89,0xDF,0xFF,0xF3,0xFF,0xFF,0xF8,

0xFF,0xFF,0xFE,0x00,0x2B,0x60,0x03,0x33,0x3F,0x09,0xDF,0xFF,0x93,0xFF,0xFF,0xFC,

0xFF,0xFF,0xFF,0x1E,0x3B,0x70,0x0F,0x3B,0xFF,0x09,0xFF,0xFF,0xD3,0xFF,0xF1,0xFC,

0xFF,0xFF,0xFF,0x1E,0x7B,0x30,0x3F,0x3C,0x37,0x89,0x80,0x0F,0xD3,0xFF,0xE0,0xFC, 0xFF,0xFF,0xFF,0xB6,0x57,0x39,0xFB,0x03,0xB3,0x89,0x00,0x00,0x03,0xFF,0xE0,0xFC, 0xFF,0xFF,0xFF,0xA7,0x9F,0x3D,0xE3,0x07,0xB3,0x89,0x00,0x00,0x03,0xFF,0xE0,0xF8, 0xFF,0xFF,0xFF,0xE7,0x87,0x3D,0xC7,0x7D,0xB0,0x89,0x00,0x00,0x03,0xFF,0xE0,0xF8,

0xFF,0xFF,0xFF,0xE7,0x87,0x01,0x87,0x7C,0x30,0x08,0x1F,0x00,0x03,0xFD,0xFF,0xF8,

0xFF,0xFF,0xFF,0xF7,0x87,0xC1,0x07,0x60,0xF0,0x10,0x3F,0xFF,0xDB,0xFF,0xFF,0xF0,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x63,0xF4,0x30,0x3F,0xFF,0xDF,0xFF,0xFF,0xF0, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x04,0x70,0x3F,0xFF,0xD7,0xFE,0xFF,0xE0, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x01,0xF0,0x3F,0xFF,0xD7,0xFE,0xFF,0xE0,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x40,0x1F,0xF0,0x00,0x3F,0xE7,0xFE,0x00,0x00, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF1,0x00,0x00,0xE7,0xFE,0x00,0x00, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x07,0xFE,0x00,0x00,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x07,0xFE,0x00,0x00

};

#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};

void delay0(uchar x); //x*0.14MS

void dataconv();

void lcd_pos(uchar X,uchar Y); //确定显示位置

void delay(int ms)

{ while(ms--)

{

uchar i;

for(i=0;i<250;i++)

{ _nop_();_nop_();_nop_();_nop_(); }

}

}

/*************/

/* */

/*检查LCD忙状态 */

/*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */

/* */

/*************/

bit lcd_busy()

{ bit result;

LCD_RS = 0;

LCD_RW = 1;

LCD_EN = 1;

delayNOP();

result = (bit)(P0&0x80);

LCD_EN = 0;

return(result);

}

/*************/

/*写指令数据到LCD */

/*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */

/*************/

void lcd_wcmd(uchar cmd)

{

while(lcd_busy());

LCD_RS = 0;

LCD_RW = 0;

LCD_EN = 0;

_nop_(); _nop_();

P0 = cmd;

delayNOP();

LCD_EN = 1;

delayNOP();

LCD_EN = 0;

}

/*************/

/* */

/*写显示数据到LCD */

/*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */

/* */

/*************/

void lcd_wdat(uchar dat)

{

while(lcd_busy());

LCD_RS = 1;

LCD_RW = 0;

LCD_EN = 0;

P0 = dat;

delayNOP();

LCD_EN = 1;

delayNOP();

LCD_EN = 0;

}

/*************/

/* */

/* LCD初始化设定 */

/* */

/*************/

void lcd_init()

{

LCD_PSB = 1; //并口方式

lcd_wcmd(0x34); //扩充指令操作

delay(5);

lcd_wcmd(0x30); //基本指令操作

delay(5);

lcd_wcmd(0x0C); //显示开,关光标

delay(5);

lcd_wcmd(0x01); //清除LCD的显示内容

delay(5);

}

/*******

函数名称:Draw_PM

功 能:在整个液晶屏幕上画图

参 数:无

返回值 :无

********/

void Draw_PM(const uchar *ptr)

{

uchar i,j,k;

lcd_wcmd(0x34); //打开扩展指令集

i = 0x80;

for(j = 0;j < 32;j++)

{

lcd_wcmd(i++);

lcd_wcmd(0x80);

for(k = 0;k < 16;k++)

{ lcd_wdat(*ptr++);}

}

i = 0x80;

for(j = 0;j < 32;j++)

{ lcd_wcmd(i++);

lcd_wcmd(0x88);

for(k = 0;k < 16;k++)

{ lcd_wdat(*ptr++); }

}

lcd_wcmd(0x36); //打开绘图显示

lcd_wcmd(0x30); //回到基本指令集

}

main()

{ lcd_init(); //初始化LCD

Draw_PM(zhu); //显示设定的图片

while(1);

}

实物图

物联网

液晶显示模块接口方式的分类及优缺点:

  并行接口

    优点:

      1.传递数据速度快;

     2.可以从显示出来的图案或字符再读出来,这样就可以自由画点、及线

    缺点:

      1.接口线多(13个).为了省钱,客户会选择最少引脚的CPU,这样变成不得不考虑接口数量了。

      2.如果客户主板与液晶屏的距离比较远,电线的成本也必须考虑。

    串行接口

    优点:

      1.接口线少。

      2.有些单片机有专门的SPI接口传输,正好配合。

    缺点:

      1.速度稍慢;

      2.不可以读已显示到液晶屏上的图案、字符等数据。

  I2C总线

    优点:

      1.接口线更少。

      2.有些单片机有专门的I2C总线接口传输,正好配合。这种接口可以不用增加占用任何接口的情况下增加外部I2C设备:比如AT24C02 EEPROM

    缺点:

      1.因是飞利浦的专利,IC一般较贵。

      2.应用不是很普遍,所以业务推广较难

供应商A:晶联讯 http://www.jlxlcd.cn/

1、产品能力

(1)选型手册

http://www.jlxlcd.cn/html/zh-list-0101.html

(2)主推型号1:LX25696G-968-PL

对应的产品详情介绍

LX25696G-968-PL 型液晶显示模块既可以当成普通的图像型液晶显示模块使用(即显示普通图像型的

单色图片功能),又含有 JLX-GB2312-3207 字库 IC,可以从字库 IC 中读出内置的字库的点阵数据写入到

LCD 驱动 IC 中,以达到显示汉字的目的。

模块由 LCD 驱动 IC ST75256、字库 IC、背光组成

物联网

硬件参考设计

物联网

2、支撑

(1)技术产品

技术资料

本文章源自奇迹物联开源的物联网应用知识库Cellular IoT Wiki,更多技术干货欢迎关注收藏Wiki:Cellular IoT Wiki 知识库(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)

欢迎同学们走进AmazIOT知识库的世界!

这里是为物联网人构建的技术应用百科,以便帮助你更快更简单的开发物联网产品。

Cellular IoT Wiki初心:

在我们长期投身于蜂窝物联网 ODM/OEM 解决方案的实践过程中,一直被物联网技术碎片化与产业资源碎片化的问题所困扰。从产品定义、芯片选型,到软硬件研发和测试,物联网技术的碎片化以及产业资源的碎片化,始终对团队的产品开发交付质量和效率形成制约。为了减少因物联网碎片化而带来的重复开发工作,我们着手对物联网开发中高频应用的技术知识进行沉淀管理,并基于 Bloom OS 搭建了不同平台的 RTOS 应用生态。后来我们发现,很多物联网产品开发团队都面临着相似的困扰,于是,我们决定向全体物联网行业开发者开放奇迹物联内部沉淀的应用技术知识库 Wiki,期望能为更多物联网产品开发者减轻一些重复造轮子的负担。

Cellular IoT Wiki沉淀的技术内容方向如下:

物联网

奇迹物联的业务服务范围:基于自研的NB-IoT、Cat1、Cat4等物联网模组,为客户物联网ODM/OEM解决方案服务。我们的研发技术中心在石家庄,PCBA生产基地分布在深圳、石家庄、北京三个工厂,满足不同区域&不同量产规模&不同产品开发阶段的生产制造任务。跟传统PCBA工厂最大的区别是我们只服务物联网行业客户。

连接我们,和10000+物联网开发者一起降低技术和成本门槛

让蜂窝物联网应用更简单~~

哈哈你终于滑到最重要的模块了,

千万不!要!划!走!忍住冲动!~

欢迎加入飞书“开源技术交流群”,随时找到我们哦~

点击链接如何加入奇迹物联技术话题群(https://rckrv97mzx.feishu.cn/docx/Xskpd1cFQo7hu9x5EuicbsjTnTf)可以获取加入技术话题群攻略

Hey 物联网从业者,

你是否有了解过奇迹物联的官方公众号“eSIM物联工场”呢?

这里是奇迹物联的物联网应用技术开源wiki主阵地,欢迎关注公众号,不迷路~

及时获得最新物联网应用技术沉淀发布

(如有侵权,联系删除)

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分