标准入门篇

1.零知开源快速入门1-点亮你的LED
2.零知开源快速入门2-让你的开发板向世界说你好
3.零知开源快速入门3-点亮外部LED灯
4.零知开源快速入门4-制作一个流水灯简单作品
5.零知开源快速入门5-制作一个交通灯
6.零知开源快速入门6-使用按键来控制你的灯
7.零知开源快速入门7-制作一个抢答器
8.零知开源快速入门8-让你的作品发出声音
9.零知开源快速入门9-读取模拟数值
10.零知开源快速入门10-根据光的变化控制声音
11.零知开源快速入门11-使用PWM进行调光
12.零知开源快速入门12-测量你所在环境的温度
13.零知开源快速入门13-倾斜开关控制你的灯
14.零知开源快速入门14-火焰报警器制作
15.零知开源快速入门15-数码管显示(1位)
16.零知开源快速入门16-数码管显示(4位)
17.零知开源快速入门17-三个IO控制8个LED灯
18.零知开源快速入门18-舵机控制
19.零知开源快速入门19-1602液晶屏显示
20.零知开源快速入门20-步进电机
21.零知开源快速入门21-点阵LED应用(8x8)
22.零知开源快速入门22-红外遥控LED灯
23.零知开源快速入门23-温湿度模块DHT11实验
24.零知开源快速入门24-DS18B20测量环境温度
25.零知开源快速入门25-RGB-LED彩色灯实验
26.零知开源快速入门26-水位传感器模块实验
27.零知开源快速入门27-LCD1602扩展板PCF8574实验
28.零知开源快速入门28-DS1302时钟模块实验
29.零知开源快速入门29-4x4矩阵键盘实验
30.零知开源快速入门30-麦克风模块控制LED实验
31.零知开源快速入门31-ULN2003步进电机驱动Stepper
32.零知开源快速入门32-RC522 NFC模块读写NFC卡片 门禁卡 白卡
33.零知开源快速入门33-SoftSerialSTM32 软串口的使用
34.零知开源快速入门34-玩转WS2812B灯条模块

标准进阶篇

1.扬声器播放音乐 8欧姆0.5W喇叭
2.零知开源模块使用- OLED模块使用 SSD1306
3.零知标准板 TFT LCD显示屏软件库 中文字体使用
4.零知平台上使用PN532进行读写卡操作NFC模块
5.零知智障小车系列3-红外寻迹模块使用
6.零知智能避障小车系列2 - 超声波模块使用 HC SR04
7.零知智能避障小车系列1 - L298N模块使用 电机驱动 TT马达
8.颜色识别传感器模块使用 TCS3200 TCS230
9.NRF24L01无线模块使用 2.4G无线通信
10.ISD1820录音模块使用
11.TDA2030功放模块使用 音频放大器
12.大气压传感器模块 BMP180使用
13.JoyStick游戏摇杆扩展板使用
14.零知开源模块使用-MPU9250九轴传感器
15.零知开源模块使用-MPU6050六轴 加速度+陀螺仪
16.零知开源模块应用-ADXL345三轴加速度传感器使用
17.零知开源软件库使用-ILI9341并口显示屏
18.零知开源模块篇2-ESP8266 wifi模块 ESP-12 ESP-07 ESP-01
19.空气质量监测-SGP30模块VOC CO2
20.零知开源模块应用-以太网模块W5100
21.零知开源模块篇0-温湿度模块 SHT3X SHT30 SHT31 SHT35
22.零知开源接口篇1-IIC通信
23.空气质量传感器CCS811获取CO2和VOC数据
24.零知开源模块篇1-温湿度模块 SHT2X SHT20 SHT21 SHT25
25.零知开源软件库使用-QRcode二维码生成显示
26.零知开源软件库使用-u8g2库
27.传感器数据上传到云端-以SCD30采集CO2数据为例
28.OneNet云平台显示摄像头数据详细操作教程 EDP OV2640 ESP8266
29.零知智障小车系列4 - 蓝牙模块与手机APP通信
30.零知板+OV2640图像上传到云端OneNet ESP8266 wifi EDP协议
31.【ESP8266教程】零知WIFI教程-OTA升级 浏览器更新固件示例
32.盛思锐CO2传感器模块SCD30同时集成温度湿度测量
33.i2c_lcd2004模块库示例
34.零知平台-RTC实时时钟使用实例
35.零知教程模块使用-四位数码管TM1637驱动
36.零知教程模块使用-DS3231时钟模块
37.红外人体感应模块使用 HC SR505 PIR Motion Sensor
38.零知模块使用-MP3扩展板VS1053模块应用
39.SPI接口TFT模块使用示例 1.44 ST7735/ILI9163
40.零知开源技术分享- can总线通信示例 MCP2515
41.SPI TFT 2.8寸液晶显示屏示例 ILI9341
42.零知开源教程-编码器示例
43.零知开源模块使用-MHZ19B CO2传感器
44.零知开发板和无限射频通讯模块的使用
45.零知模块使用-SIM800C GSM模块的应用
46.零知标准板/迷你板教程-看门狗使用示例watchdog
47.零知标准板/迷你板低功耗 待机模式lowpower教程实验
48.零知标准板使用HC-12无线串行通信模块
49.零知开源9轴传感器-ICM20948模块使用教程
50.零知标准板使用L298N电机驱动模块
51.零知标准板之 MLX90614ESF 红外测温传感器模块
52.两个零知标准板进行SPI主从通信
53.烟雾检测装置-MQ Sensor模块
54.四位数码管TM1637驱动显示实时时间
55.零知标准板使用zigbee无线串口收发模块

标准项目篇

1.零知开源小项目-室内温湿度监控系统
2.零知开源-室内温湿度监控系统1-本地进行数据显示
3.零知开源-室内温湿度监控系统2-在远程上位机显示数据
4.零知智能避障小车项目 - 人人都能实现的无线控制小车
5.零知智能避障小车系列1 - L298N模块使用 电机驱动 TT马达
6.零知智能避障小车系列2 - 超声波模块使用 HC SR04
7.零知智障小车系列3-红外寻迹模块使用
8.零知智障小车系列4 - 蓝牙模块与手机APP通信
9.零知开源小项目-Arduboy小游戏(移植)
10.零知开源小项目-Bad Apple 零知版本
11.零知开源小项目 LCD屏制作简单小游戏
12.零知开源小项目-超声波雷达 HC-SR04
13.使用Firmata与Processing交互实现音乐LED炫酷灯光效果
14.零知开源小项目-制作一个简单的自动浇花神器
15.零知开源小项目-MAX7219LED点阵制作表白神器
16.零知开源小项目-制作一个红外遥控的摇头风扇
17.零知开源小项目-lcd1602和4*4键盘做一个简单的计算器
18.零知开源小项目-制作简单的电子钢琴
19.零知开源小项目-TFT LCD显示屏制作简易计算器
20.零知开源小项目-NFC门禁系统(RC522)
21.零知开源快速入门27-LCD1602扩展板PCF8574实验
22.零知开源快速入门32-RC522 NFC模块读写NFC卡片 门禁卡 白卡
23.零知开源小项目-简易示波器
24.零知开源小项目-OV2640 简易照相机
25.零知开源小项目-烟雾警报系统
26.零知开源小项目-会跳舞的智能垃圾桶

增强板入门篇

1.零知增强板入门1-点亮外部LED灯
2.零知增强板入门2-制作一个流水灯简单作品
3.零知增强板入门3-制作一个交通灯
4.零知增强板入门4-使用按键来控制你的灯
5.零知增强板入门5-让你的作品发出声音
6.零知增强板入门6-读取模拟数值
7.零知增强板入门7-根据光的变化控制声音
8.零知增强板入门8-制作一个抢答器
9.零知增强板入门9-使用PWM进行调光
10.零知增强板入门10-倾斜开关控制你的灯
11.零知增强板入门11-火焰报警器制作
12.零知增强板入门12-数码管显示(1位)
13.零知增强板入门13-数码管显示(4位)
14.零知增强板入门14-三个IO控制8个LED灯
15.零知增强板入门15-舵机控制
16.零知增强板入门16-1602液晶屏显示
17.零知增强板入门17-步进电机
18.零知增强板入门18-温湿度模块DHT11实验
19.零知增强板入门19-RGB-LED彩色灯实验
20.零知增强板入门20-水位传感器模块实验
21.零知增强板入门21-LCD1602扩展板PCF8574实验
22.零知增强板入门22-DS1302时钟模块实验
23.零知增强板入门23-ULN2003步进电机驱动Stepper
24.零知增强板入门24-4x4矩阵键盘实验
25.零知增强板入门25-麦克风模块控制LED实验
26.零知增强板之INA219电量监测芯片
27.零知增强板入门27-玩转WS2812B灯条模块
28.零知增强板入门28-MPU605六轴 加速计+陀螺仪传感器

增强板进阶篇

1.零知增强板+LCD扩展板的使用
2.零知增强板-使用FreeRTOS小型操作系统 开启多任务操作
3. 零知增强板-使用Firmata库控制Arduino
4.零知增强板+W5500 以太网通信示例
5.零知增强板-DCMI接口 OV2640 摄像头 串口输出/LCD显示
6.ESP8266与零知增强板使用SPI接口连接 提高传输速率
7.零知增强板-WIFI网络图像传输 OV2460 ESP8266 SPI传输
8.零知增强板-SD卡使用 SDIO接口 FATFS
9.零知增强板 +扩展板支持多尺寸LCD(TFT液晶屏)2.2/3.2/3.5/5/7寸
10.零知增强板-看门狗使用watchdog示例
11.零知增强板-DCMI接口 OV2640 摄像头 串口输出/LCD显示
12.零知增强板+LCD扩展板的使用
13.零知增强板-SD卡使用 SDIO接口 FATFS
14.零知增强板与标准板的串口通信示例
15.零知增强板-TFT直插扩展板 TFT图形库 FSMC并口操作示例 小鸟游戏
16.零知增强板-TFT扩展板 3.5寸 UI界面示例(lvgl)
17.零知增强板和标准板定时中断的使用
18.零知增强板-OLED模块使用 SSD1306
19.零知增强板+VL53L1X激光测距传感器模块

esp8266入门篇

1.【零知ESP8266教程】快速入门1 让你的开发板向世界说你好
2. 【零知ESP8266教程】快速入门2-点亮外部LED灯
3.【零知ESP8266教程】快速入门3-制作一个流水灯
4.【零知ESP8266教程】快速入门4-制作一个交通灯
5.【零知ESP8266教程】快速入门9-根据光的变化控制声音
6.【零知ESP8266教程】快速入门15 一键配网上云端
7.【零知ESP8266教程】快速入门14 三个IO控制8个LED灯
8.【零知ESP8266教程】快速入门13 一位数码管显示
9.【零知ESP8266教程】快速入门12-火焰报警器制作
10.【零知ESP8266教程】快速入门11-倾斜开关控制你的灯
11.【零知ESP8266教程】快速入门10-使用PWM进行调光
12.【零知ESP8266教程】快速入门8-读取模拟数值
13.【零知ESP8266教程】快速入门7-制作一个抢答器 x`
14.【零知ESP8266教程】快速入门6-让你的作品发出声音
15.【零知ESP8266教程】快速入门5-使用按键来控制你的灯
16.【零知ESP8266教程】快速入门16 扫描你附近的WiFi
17.【零知ESP8266教程】快速入门17 station模式下,创建一个wifi热点
18.【零知ESP8266教程】快速入门18 get请求json数据并解析
19.【零知ESP8266教程】快速入门19 使用NTP服务器获取网络时间
20.【零知ESP8266教程】快速入门20 OLED本地小时钟
21.【零知ESP8266教程】快速入门21 OLED世界时钟demo
22.【零知ESP8266教程】快速入门22 OLED模块使用示例
23.【零知ESP8266教程】快速入门23 OLED显示二维码
24.【零知ESP8266教程】快速入门24 Blynk手机APP点灯示例
25.【零知ESP8266教程】快速入门25 blynk控制RGB LED
26.【零知ESP8266教程】快速入门26 Blynk手机APP显示室内温湿度
27.【零知ESP8266教程】快速入门27 三轴传感器模块的使用
28.【零知ESP8266教程】快速入门28 六轴传感器模块的使用
29.【零知ESP8266教程】快速入门29 九轴传感器模块的使用
30.【零知ESP8266教程】快速入门30 无线收发模块的使用
31.零知ESP8266 LCD1602 I2C接口使用教程
32.ESP8266 EEPROM断电或复位后保存数据(读和写)①
33.ESP8266 esp-01模块烧录使用
34.ESP8266 wifi模块esp-01 控制9100小风扇
35.ESP8266 温湿度模块 SHT3X SHT30 SHT31 SHT35
36.ESP8266 连接到NTP服务器(pool.ntp.org)请求日期和时间
37.ESP8266教程 使用DHT11获取室内温湿度
38.【ESP8266教程】玩转WS2812B灯条模块
39.【零知ESP8266教程】ESP8266+MPU6050 实现运动姿态检测

esp8266进阶篇

1.STATION模式下WIFI UDP协议通信示例
2.零知WIFI教程-WIFI MESH 组网 示例
3.WIFI TCP协议通信 TCP服务器示例
4.WIFI TCP协议通信 TCP客户端示例
5.AP模式下WIFI UDP协议通信示例
6.零知WIFI教程 - DNS服务 域名解析 示例应用
7.零知WIFI教程 - Portal 认证 示例
8.零知WIFI教程-定时器Ticker使用示例
9.零知WIFI教程-OTA升级 http服务器更新固件
10.零知WIFI教程-http WEB服务器示例
11.零知WIFI教程-SSDP简单服务发现协议​ 示例
12.零知WIFI教程-NETBIOS功能示例
13.零知WIFI教程-mDNS服务 多播DNS使用示例
14.零知WIFI教程-LLMNR服务示例
15.零知WIFI教程-OTA升级 浏览器更新固件示例
16.零知WIFI教程-http client客户端示例
17.ESP8266 wifi功能工作模式及透传详解(AT指令方式)
18.ESP8266固件SDK和AT烧写详细说明
19.ESP8266 智能配网功能 WIFI快连(AT指令方式)
20.ESP8266 AT指令方式项目开发注意事项
21.【零知ESP8266教程】生成二维码并显示到OLED
22.ESP8266发送HTTP GET请求
23.ESP8266使用AT指令发送GET请求
24.ESP8266--AT固件烧录
25.ESP8266 标准板串口发送AT指令到ESP8266 使用GET请求
26.ESP8266 MQTT 本地服务器使用教程 ①MQTT服务器搭建
27.ESP8266 MQTT本地服务器使用教程 ②使用MQTT控制ESP8266
28.ESP8266 MQTT 本地服务器使用教程 ③使用MQTT控制ESP8266
29.ESP8266使用AT方式建立UDP客户端
30.ESP8266 WIFI UDP服务器示例
31.ESP8266 多个定时器 控制led
32.EPS8266 GET请求方式控制继电器状态
33.ESP8266 ESPStringTemplate 静态网页生成
34.ESP8266 WIFI组网②
35.ESP8266 创建Web服务器控制输出​
36.阿里云Ubuntu下搭建ESP8266 MQTT服务器
37.ESP8266 异步web服务器 控制4路继电器
38.ESP8266 异步web服务器 获取表单提交数据
39.ESP8266 异步web服务器 网页定时器
40.ESP8266发送HTTP GET请求②
41.ESP8266发送HTTP POST请求
42.ESP8266 WiFiManager库 一键配网
43.ESP8266 EEPROM断电或复位后保存数据(读和写)②暂存字符串
44.ESP8266 WiFiManager库 一键配网 ②
45.ESP8266 模板引擎①
46.ESP8266 使用MP3播放器模块
47.ESP8266 浅谈“WiFi杀手”
48.ESP8266 异步服务器显示模拟引脚数据

esp8266项目篇

1.零知ESP8266小项目-天气时钟
2.【ESP8266教程】Android手机控制机械臂
3.【ESP8266教程】通过手势控制机械臂
4.ESP8266项目篇——超声波测距 WIFI无线传输
5.ESP8266 红外控制空调
6.ESP8266项目篇-检测身边的“WiFi杀手”
7.ESP8266 使用IRremoteESP8266控制空调
8.ESP8266 物联网项目-土壤检测系统
9.ESP8266项目篇-“提神醒脑”小闹钟
10.ESP8266项目篇 温湿度监测系统

esp32入门篇

1.【ESP32教程】零知ESP32点亮开发板
2.【ESP32教程】开关控制LED
3.【ESP32教程】使用触控感应器点亮LED
4.【ESP32教程】脉冲宽度调制(PWM)
5.【ESP32教程】读取模拟输入
6.【ESP32教程】永久存储数据(读和写)
7.【ESP32教程】霍尔传感器
8.【ESP32教程】深度睡眠模式外部唤醒
9.ESP32 Scan扫描身边蓝牙设备
10.【ESP32教程】玩转WS2812B灯条模块
11.【ESP32教程】MPU6050 实现运动姿态检测

esp32进阶篇

1.【ESP32教程】远程点亮零知ESP32开发板 WIFI控制
2.【ESP32教程】远程点亮ESP32开发板 蓝牙控制
3.【ESP32教程】创建Web服务器控制输出
4.【ESP32教程】创建Web服务器控制伺服电机
5.【ESP32教程】异步Web服务器:测温湿度
6.【ESP32教程】Web网页控制彩色LED
7.【ESP32教程】蓝牙发送通知
8.【ESP32教程】Bluetooth classic 用蓝牙交换信息
9.【ESP32教程】MQTT①服务器搭建
10.【ESP32教程】MQTT②创建客户端发送温度数据
11.【ESP32教程】MQTT③创建两个客户端交换信息
12.Arduino ESP8266和ESP32使用SPIFFS芯片文件系统
13.ESP32 静态模板引擎
14.Arduino 将图像上传到ESP32/ESP8266 SPIFFS
15.ESP32/ESP8266 图像转换为base64以将其包含在web服务器中

迷你板入门篇

1.零知开源快速入门1-点亮你的LED
2.零知开源快速入门2-让你的开发板向世界说你好
3.零知开源快速入门3-点亮外部LED灯
4.零知开源快速入门4-制作一个流水灯简单作品
5.零知开源快速入门5-制作一个交通灯
6.零知开源快速入门6-使用按键来控制你的灯
7.零知开源快速入门7-制作一个抢答器
8.零知开源快速入门8-让你的作品发出声音
9.零知开源快速入门9-读取模拟数值
10.零知开源快速入门10-根据光的变化控制声音
11.零知开源快速入门11-使用PWM进行调光
12.零知开源快速入门12-测量你所在环境的温度
13.零知开源快速入门13-倾斜开关控制你的灯
14.零知开源快速入门14-火焰报警器制作
15.零知开源快速入门15-数码管显示(1位)
16.零知开源快速入门16-数码管显示(4位)
17.零知开源快速入门17-三个IO控制8个LED灯
18.零知开源快速入门18-舵机控制
19.零知开源快速入门19-1602液晶屏显示
20.零知开源快速入门20-步进电机
21.零知开源快速入门21-点阵LED应用(8x8)
22.零知开源快速入门22-红外遥控LED灯
23.零知开源快速入门23-温湿度模块DHT11实验
24.零知开源快速入门24-DS18B20测量环境温度
25.零知开源快速入门25-RGB-LED彩色灯实验
26.零知开源快速入门26-水位传感器模块实验
27.零知开源快速入门27-LCD1602扩展板PCF8574实验
28.零知开源快速入门28-DS1302时钟模块实验
29.零知开源快速入门29-4x4矩阵键盘实验
30.零知开源快速入门30-麦克风模块控制LED实验
31.零知开源快速入门31-ULN2003步进电机驱动Stepper
32.零知开源快速入门32-RC522 NFC模块读写NFC卡片 门禁卡 白卡
33.零知开源快速入门33-SoftSerialSTM32 软串口的使用
34.零知开源快速入门34-玩转WS2812B灯条模块

arduino篇

1.Arduino 开发快速入门1-点亮一个LED
2.Arduino 开发快速入门2-Arduino的基本程序结构
3.Arduino 开发快速入门3-流水灯实验
4.Arduino 开发快速入门4-按键控制LED
5.Arduino 开发快速入门5-使用内部上拉电阻
6.Arduino开发快速入门6-串口输出
7.Arduino开发快速入门7-串口输入
8.Arduino开发快速入门8-串口控制LED
9.Arduino开发快速入门9-读取模拟信号
10.Arduino开发快速入门10-制作简易电压表

其他篇

1.STM32F103-SHT3X温湿度测试测序 SHT30 SHT31 SHT35
2.环境光强度传感器-BH1750 光照测量 程序源码
3.STM32F103-SHT2X温湿度测试程序 SHT20 SHT21 SHT25
4.九轴传感器技术详解 加速度计 陀螺仪 磁力计 融合算法
5.零知开源蓝牙开发板-BLE52发布-主控nrf52832
6.零知BLE52蓝牙教程-4手机控制LED点阵绘画 nrf52
7.零知BLE52蓝牙教程-3手机控制RGB-LED灯 nrf52
8.零知BLE52蓝牙教程-2手机控制舵机 nrf52
9.零知BLE52蓝牙教程-温湿度传感器使用 SHT3x nrf52
10.零知BLE52蓝牙教程-编码器使用示例 Encoder nrf52
11.零知BLE52蓝牙教程-RTC时钟使用 nrf52
12.零知4G扩展板GPRS LTE 打电话 发短信 上网 使用教程示例
13.零知开源平台初学者常见问题解答 FAQ
14.零知开源辅助工具-串口调试
15.零知开发工具-增加本地库功能使用说明
16.SHT10温湿度传感器
17.加速度传感器-LIS3DH 移动角度检测 单双击检测 程序源码
18.arduino使用I2C接口与模块相连时调试分析
19.【ESP8266教程】Blynk手机APP点灯示例
20.【ESP8266教程】Blynk手机APP显示室内温湿度
21.ov7670摄像头模块模组的资料包
22.OV2640摄像头模块 200W像素
23.浅谈卡片破解 RFID安全技术
24.ESP8266模块TCP-server程序示例 wifi ESP-12 ESP-07 ESP-07
25.零知开源平台软件库 FSM状态机示例
26.零知开源-SimpleKalmanFilter 卡尔曼滤波器库分享
27.零知开源-DebugUtils调试库分享
28.零知开源-tinyGSM 软件库分享
29.零知开源库分享-电子纸 墨水屏显示驱动库
30.零知开源-PN532 软件库分享
31.零知开源-CRC32循环冗余效验库分享
32.零知RS232/485扩展板使用示例
33.零知开源小项目-捡金币小游戏
34.零知开源-ENC28J60 网络模块库分享
35.零知开源-RF24 2.4G无线通信库分享
36.零知开源-SerialCommand串口命令库分享
37.零知开源 Json Decoder数据操作库分享
38.零知开源 JPEG解码库分享
39.零知软件库分享-按键检测功能软件库OneButton
40.MAP容器库 simpleMap软件库
41.零知开源接口篇0-串口UART通信
42.零知开源-软件库和示例程序
43.零知教程-按键控制示例
44.零知软件库文件结构说明
45.零知开源开发板-迷你板已发布 STM32F103核心板
46.SPS30 PM2.5细颗粒物传感器 监测空气质量 具体编程示例
47.零知开源开发板-增强板已发布 STM32F407核心板
48.PADs9.5版本下载及破解
49.零知PCB正式版1.00版本发布 -免费高效的PCB设计工具
50.AD17/18/19 Altium Designer17/18/19版本破解 完整安装带license
51.PADs视频教程
52.STM32F103使用U8G2库
53.使用STM32串口接收不定长数据的原理与源码分析
54.对STM32库函数进行解析
55.GY-213V-HDC1080 数据手册 示例代码文件
56.2.4寸TFT液晶屏模块 触摸彩屏模块51驱动 触摸IC,SD卡座 ILI9341
57.MCP2515 TJA1050接收器 SPI 51单片机程序例程 CAN总线模块
58.MQ-3酒精乙醇传感器模块 酒精气敏检测报警
59.MAX30100 心率传感器 血氧 脉搏 心率模块 血氧传感器模块
60.MMA7361 角度传感器 倾角传感器 加速度模块 替代MMA7260
61.9合一多功能扩展板 DHT11温湿度
62.AAM2302B(DHT22)/单总线数字温湿度传感器模块探头
63.DHT21/AM2301电容式数字温湿度传感器
64.DHT11 数字式温湿度传感器
65.2.2寸全新串口TFT SPI液晶屏彩屏模块
66.MAX4466声音传感器模块
67.37合1传感器模块套件
68.STM32F103R8T6核心板STM32小系统板STM32开发板
69.蓝屏 1602A 兰屏LCD液晶屏 蓝色 5V 白字体 带背光LCD1602
70.HX711模块+5kg压力传感器套装 称重传感器 电子秤模块
71.GY-530 VL53L0X 激光测距传感器 ToF测距 飞行时间测距传感器模块
72.MLX90393 数字 三维 霍尔传感器 位移角度旋转3D位置
73.L293D motor control shield 电机驱动扩展板马达板驱动模块
74.HL-340 USB转串口线(COM) USB-RS232 USB九针串口线支持win7-64位
75.TTP223 触摸按键模块
76.金属探测器diy 金属探测器套件 电子套件 电子DIY 焊接练习板
77.TM7711模块/电子称重传感器24位AD模块
78.XFS5152CE语音合成模块
79.USB转TTL 模块 PL2303HX模块
80.D1 WiFi UNO R3开发板基于ESP8266 ESP-12N F 模块
81.W25Q64 64Mbit 8MByte FLASH储存模块
82.L298P Motor Shield 步进 直流电机驱动模块 驱动扩展板
83.LAN8720 网络模块的资料
84.SYN115 F115 433M ASK 无线发射模块的数据手册
85.GSM/GPRS+GPS/BDS开发板A9G开发板
86.红外解码模块的数据手册及原理图
87.DHT22 单总线数字温湿度传感器2302模块电子积木
88.蓝牙音频接收器模板 立体声
89.DX-BT18蓝牙双模模块
90.碰撞开关 碰撞模块 单片机模块
91.OV7670 摄像头模组
92.热敏传感器 温度传感器模块 热敏电阻 热敏传感器 兼容UNO R3
93.MAX31865 RTD 铂电阻温度检测器 PT100至PT1000
94.ESP8266 ESP-01 ESP-01S DHT11 温湿度WiFi节点模块
95.SCA60C倾斜检测传感器模块的资料及原理图
96.声音检测传感器模块 声音传感器 智能车
97.2Y0A21 GP2Y0A21YK0F 红外测距传感器
98.DS18B20模块 单总线数字18B20温度传感器
99.模拟温度传感器 LM35D LM35 模块 电子积木 智能小车
100.WCS1700霍尔电流传感器 可调70A短路/过流保护模块
101.ISD1700系类语音录放模块 ISD1760模块
102.US-015和US-100 超声波测距模块的说明及使用教程
103.JQ6500语音模块
104.使用PN532串口NFC模块读写NFC卡片
105.各种型号的USB转串口驱动(整理)
106.五路火焰传感器模块 输出双重机器人模拟 灭火数字
107.L9110风扇传感器模块 灭火机器人单片机开发板 适用于ARDUINO
108.ADS1256特价24位ADC8路AD模块高精度ADC数据采集
109.霍尔传感器 电机测速模块 3144E单开电路 测速传感器 计数
110.甲醛 传感器模块ZE08-CH2O
111.微型人体感应模块PIR模块红外模块热释电人体红外传感器
112.无线蓝牙串口透传模块 无线串口通讯 HC-06带脚 从机蓝牙模块
113.汇承HC-06蓝牙串口模块
114.ESP8266开发资料 工具+资料+视频教程
115.Arduino创意机器人 视频 超赞Arduino学习教程
116.Arduino学习资料 超级全
117.图灵FGPA经典书籍-FPGA设计实战(带书签)
118.Arduino套件学习资料 Arduino智能小车资料 视频教程
119.张飞硬件设计与开发视频教程
120.esp8266 高级视频教程
121.ESP8266开发资料【全】源码+视频教程+安信可云详解
122.FreeRTOS源码详解视频教程
123.FreeRTOS 应用开发视频教程
124.Arduino经典 基于ESPDuino的智慧物联开发宝典电子版-升级版本
125.STM32 NB-IOT视频教程分享
126.arduino学习资料文档 Arduino最全电子书
127.小梅哥FPGA视频教程
128.ZigBee深入浅出视频教程
129.Xilinx系列FPGA芯片IP核详解 (刘东华著) FPGA经典书籍
130.Verilog HDL应用程序设计实例讲解
131.深入浅出玩转FPGA视频学习课程特权同学35讲全
132.专业嵌入式软件开发 全面走向高质高效编程 李云
133.周立功Verilog视频教程
134.书籍推荐:UML+OOPC嵌入式C语言开发精讲
135.华清远见FPGA verilog教程- 第一期和第二期完整视频教程
136.FPGA学习入门教程6-SDRAM设计资料
137.FPGA学习入门教程5-verilog学习资料
138.夏宇闻Verilog视频教程
139.手把手教你玩GA6视频教程
140.《时间触发嵌入式系统设计模式 8051系列微控制器开发可靠...
141.zigbee学习资料共享
142.MQTT软件库的分享
143.零知开源基础实践教程-电子版文档
144.串口通信-DHT11获取温度-LCD显示
145.STM32F103C8T6系统板之使用零知IDEA
146.Arduino 常见问题
147.IIC总线详解
148.串口通信详解
149.继电器的工作原理及使用示例
150.硬件小知识--电路中为什么经常用一个大电容并联一个小电容
151.定时中断原理分析
152.硬件基础--清华大学模拟电子技术全套课程资源
153.Proteus Pro 8.9仿真软件的安装与激活
154.【HTTP请求】详解
155.CAM350 10.7中文版的安装与激活
156.PCB设计软件 Altium designer20 下载
157.零知迷你板(stm32f103c8t6)-光耦-继电器模块
158.零知标准版(stm32f103RBT6)-MFRC522
159.零知标准版(stm32f103rbt6)-水位(滴)传感器
160.sim800c发送中英文混合短信
161.零知标准版(stm32f103rbt6) - 火焰传感器ys-17
162.零知标准版(stm32f103rbt6) - 控制sim800c发送中英文短信
163.浅谈Session、Cookie以及localStorage的区别

零知WIFI教程-WIFI MESH 组网 示例

MESH组网技术在IOT领域具有非常大的作用,应用非常广泛,主流的无线技术从最开始的Zigbee,到蓝牙,到这里的WIFI都实现了MESH组网技术。在这里使用零知开源平台演示wifi 组网的使用。

一、软件和硬件

硬件我们本次使用零知-ESP8266;

软件使用零知开发工具,自带示例:

二、方法步骤

(1)先在零知开发工具中打开HelloMesh示例,或者复制下面的代码到零知开发工具中:


							
/**************************************************************************************
 * 文件: \HelloMesh(基础示例)\HelloMesh.ino
 * 作者:零知实验室
 * -^^- 零知开源,让电子制作变得更简单! -^^-
 * 时间: 2019-11-20 19:01:25
 * 说明: MESH:无线网络网格
****************************************************************************************/
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMesh.h>
#include <TypeConversionFunctions.h>
#include <assert.h>

const char exampleMeshName[] PROGMEM = "MeshNode_";    //填写WiFi的名称
const char exampleWiFiPassword[] PROGMEM = "123456789";//填写WiFi密码

unsigned int requestNumber = 0;
unsigned int responseNumber = 0;

String manageRequest(const String &request, ESP8266WiFiMesh &meshInstance);
transmission_status_t manageResponse(const String &response, ESP8266WiFiMesh &meshInstance);
void networkFilter(int numberOfNetworks, ESP8266WiFiMesh &meshInstance);

/* 创建网格节点对象 */
ESP8266WiFiMesh meshNode = ESP8266WiFiMesh(manageRequest, manageResponse, networkFilter, FPSTR(exampleWiFiPassword), FPSTR(exampleMeshName), "", true);


   /**************************************************************************************
    * 描述: 当其他节点向您发送请求时的回调
    * 参数: 请求从网格中的另一个节点接收的请求字符串   用函数的ESP8266WiFiMesh实例。
    * 返回值: 要发送回另一个节点的字符串
   ****************************************************************************************/
String manageRequest(const String &request, ESP8266WiFiMesh &meshInstance) {
   //在这个函数中,我们不在flash中存储字符串(通过F())。
   //原因是另一个节点将等待我们的响应,
   //因此,将字符串保存在RAM中会给响应时间带来(小的)改进。
   //当然,建议根据RAM要求调整这种方法。

  /* 打印收到的消息 */
  Serial.print("Request received: ");
  Serial.println(request);

  /*返回要发回的字符串 */
  return ("Hello world response #" + String(responseNumber++) + " from " + meshInstance.getMeshName() + meshInstance.getNodeID() + ".");
}
/**************************************************************************************
 * 描述: 从其他节点获取响应时的回调
 * 参数: 响应从网格中的另一个节点接收的响应字符串  调用函数的ESP8266WiFiMesh实例。
 * 返回值: 响应产生的状态代码,作为int
****************************************************************************************/
transmission_status_t manageResponse(const String &response, ESP8266WiFiMesh &meshInstance) {
  transmission_status_t statusCode = TS_TRANSMISSION_COMPLETE;

  /* 打印收到的消息 */
  Serial.print(F("Request sent: "));
  Serial.println(meshInstance.getMessage());
  Serial.print(F("Response received: "));
  Serial.println(response);

  // 我们的最后一个请求得到了响应,所以是时候创建一个新请求了。
  meshInstance.setMessage(String(F("Hello world request #")) + String(++requestNumber) + String(F(" from "))
                          + meshInstance.getMeshName() + meshInstance.getNodeID() + String(F(".")));

  // (void)meshInstance; 
//这对于删除“未使用的参数”编译器警告很有用。什么都不做。
  return statusCode;
}
/**************************************************************************************
 * 描述: 回拨用于决定在完成WiFi扫描后连接到哪个网络。
 * 参数: 网络数WiFi扫描中找到的网络数    调用函数的ESP8266WiFiMesh实例。 
 * 返回值: 无
****************************************************************************************/
void networkFilter(int numberOfNetworks, ESP8266WiFiMesh &meshInstance) {
  for (int networkIndex = 0; networkIndex < numberOfNetworks; ++networkIndex) {
    String currentSSID = WiFi.SSID(networkIndex);
    int meshNameIndex = currentSSID.indexOf(meshInstance.getMeshName());

    /* 连接到包含meshInstance.getMeshName()的任何合适的热点*/
    if (meshNameIndex >= 0) {
      uint64_t targetNodeID = stringToUint64(currentSSID.substring(meshNameIndex + meshInstance.getMeshName().length()));

      if (targetNodeID < stringToUint64(meshInstance.getNodeID())) {
        ESP8266WiFiMesh::connectionQueue.push_back(NetworkInfo(networkIndex));
      }
    }
  }
}

void setup() {
  // 防止闪存磨损,请参阅:https://github.com/esp8266/Arduino/issues/1054。
  //但是,这将延迟节点WiFi启动约700毫秒。如果我们没有存储要连接的WiFi网络,则延迟为900毫秒。
  WiFi.persistent(false);

  Serial.begin(115200);            //设置打印串口波特率
  delay(50); // 等待序列号。

  //yield();
  //如果不想等待Serial,请使用此命令。

  //WiFi.disconnect()确保WiFi正常工作。
  //如果在接收WiFi连接之前没有这样做,那么这些WiFi连接将需要很长时间才能建立,或者有时根本不起作用。
  WiFi.disconnect();

  Serial.println();
  Serial.println();

  Serial.println(F("Note that this library can use static IP:s for the nodes to speed up connection times.\n"
                   "Use the setStaticIP method as shown in this example to enable this.\n"
                   "Ensure that nodes connecting to the same AP have distinct static IP:s.\n"
                   "Also, remember to change the default mesh network password!\n\n"));

  Serial.println(F("Setting up mesh node..."));

  /* 初始化meshNode */
  meshNode.begin();
  meshNode.activateAP(); // 每个AP都需要一个单独的服务器端口。
//  meshNode.setStaticIP(IPAddress(192, 168, 4, 22)); // 激活静态IP模式以加快连接时间。
}

int32_t timeOfLastScan = -10000;
void loop() {
  if (millis() - timeOfLastScan > 3000 // 给其他节点一些时间来连接数据传输。
      || (WiFi.status() != WL_CONNECTED && millis() - timeOfLastScan > 2000)) { //在尚未连接时扫描具有两秒间隔的网络。
    String request = String(F("Hello world request #")) + String(requestNumber) + String(F(" from ")) + meshNode.getMeshName() + meshNode.getNodeID() + String(F("."));
    meshNode.attemptTransmission(request, false);
    timeOfLastScan = millis();

    //一种检查尝试传输结果的方法
    if (ESP8266WiFiMesh::latestTransmissionSuccessful()) {
      Serial.println(F("Transmission successful."));
    }

    // 另一种检查尝试传输结果的方法
    if (ESP8266WiFiMesh::latestTransmissionOutcomes.empty()) {
      Serial.println(F("No mesh AP found."));
    } else {
      for (TransmissionResult &transmissionResult : ESP8266WiFiMesh::latestTransmissionOutcomes) {
        if (transmissionResult.transmissionStatus == TS_TRANSMISSION_FAILED) {
          Serial.println(String(F("Transmission failed to mesh AP ")) + transmissionResult.SSID);
        } else if (transmissionResult.transmissionStatus == TS_CONNECTION_FAILED) {
          Serial.println(String(F("Connection failed to mesh AP ")) + transmissionResult.SSID);
        } else if (transmissionResult.transmissionStatus == TS_TRANSMISSION_COMPLETE) {
          // 不需要做任何事,传输成功。
        } else {
          Serial.println(String(F("Invalid transmission status for ")) + transmissionResult.SSID + String(F("!")));
          assert(F("Invalid transmission status returned from responseHandler!") && false);
        }
      }
    }
    Serial.println();
  } else {
    /* 接受任何传入连接 */
    meshNode.acceptRequest();
  }
}


							
						

(2)验证并上传上述代码到零知-ESP8266开发板;

(3)测试:分别把上述代码上传到两个零知-ESP8266开发板,然后分别连接两个板子的串口调试窗口,然后就可以看到两个节点数据传输信息了: