基于WB2模块,物联网小白入门教程,欢迎来撩~

  [复制链接]
查看20423 | 回复107 | 2023-7-28 09:56:05 | 显示全部楼层 |阅读模式
先上个课程大纲,请大家批阅!不会玩贴吧,申请先占楼8层,贴课用!

课程大纲

课程大纲


本帖被以下淘专辑推荐:

  • · 学习|主题: 2, 订阅: 0
回复

使用道具 举报

ckdsx.cn | 2023-7-28 09:56:27 | 显示全部楼层
本帖最后由 ckdsx.cn 于 2023-7-28 14:24 编辑

第一课,欢迎和课程简介
在本课中,您将了解,什么是物联网?了解如何利用物联网对自己的家进行改造

首先欢迎大家能到此一起玩耍,都是小伙伴有话直说不墨迹!有问题随时留言,业余时间统一回复!见谅!

讲师简介:北京创客大师兄,担任过北京创客空间课程总监,发表过《人人都可以做,激光雕刻机》等,并与国内创客们联合出版了《i创客》系列图书。联系方式:QQ=517441387;

做此课,科教兴国!一为科普、二为结交兴趣相投,三为纪念。

本次课程将以实践为主,重点在于引领大家完成项目。不讲高深理论,若有求知若渴者,课后随时交流。

好了我们言归正传,课程开始。

一句话课程介绍:使用软件,通过网络,收集硬件(传感器)信息以及控制硬件(执行器)动作。
拗口的课程介绍:
课程将讲解如何通过专有的MQTT网络协议和云服务器架构支撑,利用网页或软件的数据可视化属性展示,经由WB2模组通过互联网传送到云服务器的取自传感器在本地采集到的各种数据,并且远程控制逻辑开关量实现物理动作的综合物联网应用项目。

以下两种网上对物联网定义(截取自网络):
A物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。
其英文名称是:“Internet of things(IoT)”。
顾名思义,物联网就是物物相连的互联网。
这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换通信,也就是物物相息。
物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮

B物联网(Internet of Things,简称IoT)是指通过各种信息传感器、射频识别技术全球定位系统红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。
物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。

课程过程中我们主要完成两个实验:一个是数据型实验,一个是控制型实验;

第一个实验我们将上传温湿度到云服务。
本实验可作为远程信息采集终端使用。实现远程数据上传。

第二个实验我们将通过软件控制LED的点亮和熄灭。
本实验可作为远程控制开关使用。结合低压控制高压的隔离控制电路,我们可以控制家里的电器设备。

本节课重点1.能给他人讲述什么是物联网;2.了解物联网课程的两个主要任务:数据上传,远程控制;
回复 支持 2 反对 0

使用道具 举报

ckdsx.cn | 2023-7-28 09:56:39 | 显示全部楼层
本帖最后由 ckdsx.cn 于 2023-7-28 15:04 编辑

第二课:电子工具和材料介绍。
这节课中我们将列出一份清单来,然后讲解需要使用的模块、工具和材料。

本课程中,我在使用云服务器注册的时候,需要有一个电子邮箱,电脑环境是Windows 7 64位 ;


本课程用到的硬件和软件如下:
序号
图片
名称
数量
优势功能
主要作用
1

安信可WB2-32S开发板
固件版本1923
1
1. WiFi连接无束缚
2. MQTT协议固件
3. 串口AT命令易用
4. 3.3v/5v供电通用
用于网络连接MQTT云服务器,将单片机数据转换成协议格式传送到云服务器
2

USB线/TYPE C
1
通用性好,已取得
连接电脑与WB2开发板
3

C51单片机
STC15L104
推荐封装DIP8SOP8
1
入门51单片机
性价比高
易采购、易烧录
选用L系列
省去串口电平转换
4

USB转串口TTL模块
CH340版本
1
易采购、易用
烧录单片机
串口数据监测
5

温湿度传感器模块
DHT11
1
易采购、易用
数字接口
温湿度一体
6

杜邦线
(母头对母头)
若干
易采购、易用
各个模块连接
7

云服务器/巴法云
https://cloud.bemfa.com/
1
注册、使用简单
实例指南全面
云服务器(可以更换为您熟悉的其它云服务器)
8

MQTT客户端(PC
1
使用简单
(文末由win64版本的安装包)
用于MQTT订阅和推送主题的测试与验证(也可使用您熟悉的客户端)
9

KEIL 5 C51
1
适用性强
会用的人多
51单片机程序编写编译
(其它单片机请自便)
10

STC-ISP
1
STC配套
单片机下载软件
(其它单片机请自便)
各位小伙伴用到的其它软硬件,后续随讲随加~


----------------------------------
论坛图片不太会整,见谅!
回复 支持 反对

使用道具 举报

ckdsx.cn | 2023-7-28 09:56:48 | 显示全部楼层
本帖最后由 ckdsx.cn 于 2023-7-28 16:16 编辑

第三课:云服务器的注册与配置。
利用云服务器,创建存储列表,和数据主题。

本节课程需要您有一个电子邮箱,用来云服务器注册(注释1)。(若您没有邮箱,或者担心数据安全,需要在本地自行搭建服务器,请联系我,需求的人多的话,我再加一节《如何自建物联网服务器》!)
注释1:叮嘱一句,巴法云服务器注册时,填写的密码不是邮箱密码,是登录服务器用的,谨记!

1. 使用邮箱注册完成,登录巴法云之后将见到如下界面,点击①位置的眼睛图标可获得私钥(ClientID);
2. 我们使用MQTT方式接入巴法云,所以点击MQTT设备云转到对应界面;
3. 在③位置,输入英文主题(topic),之后点击④新建主题完成订阅主题的创建;
4. 完成上述动作后,就配置好了我们的云服务器。

图片11.png

图片12.png
回复 支持 反对

使用道具 举报

ckdsx.cn | 2023-7-28 09:57:02 | 显示全部楼层
本帖最后由 ckdsx.cn 于 2023-7-31 11:29 编辑

第四课:MQTT客户端远程主题订阅与推送
通过MQTT-X软件,完成云服务器主题的订阅与推送演示与测试,展示远程控制。
1. 软件安装好后,打开软件,点击①新建连接,弹出对话框;
2. 依次输入②连接的名称(随意起);③私钥(ClientID)(巴发云的私钥,小眼睛);④服务器地址:mqtt://  bemfa.com ;⑤服务器端口号:9501;⑥MQTT版本:3.1(为了兼容性);⑦点连接完成配置。
3. 出现图中⑧“已连接”的提示,恭喜你!已经连接上云服务器了!
4. 点击⑨位置的“添加订阅”,在⑪ topic中填入巴发云中,您建立好的订阅主题,然后点击确定;
5. 点击⑩右侧,输入刚刚订阅的主题,下面框中填入要发送的主题内容。点击右下角绿色小飞机。
若看到上方出现了您的主题内容,恭喜您!已经征服了一座大山!

图片13.png 图片14.png
图片15.png 图片16.png
关键参数列表
名称
参数值
备注
私钥(ClientID
每个人不同请自行查看
巴法云认证密钥,请注意保密
服务器地址
bemfa.com
大家都一样
普通端口
9501
大家都可以一样
支持协议版本
支持 MQTT3.1.1 协议
大家都一样
服务器登录用户名/密码
在客户端不用填写
以私钥进行验证
本堂课重点MQTT协议运作的方式就像是黑板报,推送的主题消息内容,会写到黑板对应的主题区域下面,只要是订阅了主题的用户,都会看到推送的这条消息。
回复 支持 反对

使用道具 举报

ckdsx.cn | 2023-7-28 09:57:05 | 显示全部楼层
本帖最后由 ckdsx.cn 于 2023-7-31 14:10 编辑

第五课,本地自动数据采集。
在本节课中,我们将利用手中现有的材料,采集本地的温湿度,传输到电脑。     


思路:使用温湿度传感器DHT11采集本地温湿度数据,使用STC15L104单片机将DHT11采集到的数据进行转换,然后通过单片机串口发送给USB转串口模块,最终传输给电脑接收并显示。


本节课程涉及电路搭建,单片机编程,单片机烧录等,对于新手来说可能略显繁琐,仅需按部就班,显示出数据即可。单片机固件、烧录程序已经打包好,请自行解压缩。


课外知识:电子芯片(IC)第辨认方法
1.一般IC都会有一个缺口芯片正面向上,缺口向上时,缺口左面的为第一脚,顺着逆时针的方向依次类推。
2.有的芯片不是用缺口,而是在芯片的一个边角放一个圆圈,最靠近圆圈的为第一脚,其余的按照上述类推
3.如果是IC芯片上有两个一大一小的圆点,一般情况下以小点为标准。
4.当芯片既有缺口又有圆角时,如果二者放置位置有冲突,一律以缺口为主。
5.IC身体黑色部份(宽的那一面) 两边对比下,两边的角都会有一点斜度的,斜度大点的那一边的左边第一个脚,自定议为第一脚。

请按照下图将USB转串口模块与单片机和传感器连接,STC15L104单片机引脚图DHT11引脚图,见下:

17.png

根据上图连接电路好后,使用STC-ISP软件对单片机进行烧录,若此过程中无法识别到单片机,请将先将温度传感器拔出,然后在进行烧录操作。

烧录软件操作过程如下:
1.点击①位置,选择单片机型号:STC15L104E
2.插入USB转串口模块USB电缆后,点击②位置,选择通讯端口;
3.点击③位置,打开发布的hex文件;
4.点击④位置,讲硬件内部时钟设置为11.0952MHz
5.点击⑤检测MCU选项,对单片机进行检测,若OK,可见单片机相关参数,若NG,请检查电路连接;
6.若上一步ok,点击⑥下载,对单片机进行烧录;
7.将⑦位置端口设置为烧录端口号,其他不变,然后点击打开串口;
8.将单片机电源线拔掉,然后再插上,查看⑧位置若有“STC15F/L MCU Serial DHT11toUart DEMO”或温湿度数据输出,则说明你已经完成了本项目中最难的一个步骤了!恭喜您!您又征服了一座大山!


18.png


本课重点:看图连线,烧录STC单片机;
相关资源:最新版本STC单片机烧录软件见STC官网:http://www.stcmcudata.com/
免费提示:STC可以免费申请样片、开发板和烧录工具,请根据官网提示自行申请;
单片机固件.zip (1.51 KB, 下载次数: 9)
回复 支持 反对

使用道具 举报

ckdsx.cn | 2023-7-28 09:57:23 | 显示全部楼层
本帖最后由 ckdsx.cn 于 2023-8-1 13:46 编辑

第六课,安信可调试助手入门
本节课中,我们将来利用助手完成WB2模块测试和云服务功能测试。

主角登场!若是没有这个模块,这类项目的开发难度将直线飙升!

WB2-32开发板

WB2-32开发板

此次课程,为了方便刚开始入门的小伙伴,所以选用了WB2-32S开发板,
当然也可以选用其它WB2的模块或开发板。

课程流程:安装驱动,使用安信可调试助手,测试模块,连接WiFi,链接MQTT服务器,发送测试数据;

拿到手里的开发板想要使用,需要先安装驱动程序,可以从通讯芯片官方下载(https://www.wch.cn/downloads/CH341SER_EXE.html驱动程序
更多关于WB2的详细信息请查阅官网资料库(https://docs.ai-thinker.com/wb2

安装好驱动程序后,用USB线接好WB2开发板和电脑,我们就可以开始进行测试模块的网络连接了。

1. 打开安信可串口调试助手
2. 设置①波特率为:115200(默认波特率)
3. 单击②选择串口号,然后点击③打开串口
4. ④位置输入AT,然后点击⑤发送AT命令
5. 若在⑥位置接收到OK,则说明模块工作良好;
6. 若想知道模块的详细信息,需要在④位置输入

AT+RST,然后就会在⑥位置接收到当前模块的各种
信息了。

21.png
22.png

WB2参数信息

WB2参数信息

WiFi参数设置
7. 连接WiFi,在④位置输入AT+WJAP=WiFi,密码
示例:AT+WJAP=super_2G,123456798
8. 设置上电自连,在④位置输入AT+WAUTOCONN=1


MQTT参数设置
9. 设置域名:      AT+MQTT=1,bemfa.com
10. 设置端口号:    AT+MQTT=2,9501
11. 设置连接方式:  AT+MQTT=3,1
12. 设置用户 ID  AT+MQTT=4,client_id
13. 查询 MQTT 连接和配置情况:AT+MQTT?
14. 连接 MQTT   AT+MQTT
MQTT连接成功则返回: +EVENT:MQTT_CONNECT

MQTT通信测试(执行玩上述命令后)订阅
15. 订阅主题消息:AT+MQTTSUB=topic,0
16. 推送主题消息:AT+MQTTPUB=topic,1,0,456  ;数据是否上传成功,可以直接登陆巴发云查看。


更多WB2模块AT命令详细信息,请参阅官网资料库2.3.8指令集。
若在其他的串口调试助手中使用AT命令,请在命令最后增加“\r\n”字符,才会正常执行相关命令。
回复 支持 反对

使用道具 举报

ckdsx.cn | 2023-7-28 09:57:30 | 显示全部楼层
本帖最后由 ckdsx.cn 于 2023-8-2 14:05 编辑

第七课,WB2模块AT命令使用
在本节课中,我们将学习WB2模块如何利用AT命令联网,用AT命令推送数据等


AT 指令介绍
ATAttention)指令是由 Dennis Hayes 发明的,所以也称为 Hayes command setAT 指令最初是用来指导 modem 工作的,后面随着技术的发展,低速 modem 已经退出了市场,但 AT 指令却不断发展,并且在今天 AT 指令依旧扮演这非常重要的角色。虽然在 PC 端、手机上已经没有了 AT 的使用,但其却在嵌入式行业里各类联网模块中发挥着重要的作用,而且不仅仅只应用在蜂窝模块,还应用到了 WiFiBLE 等模块中。

本节课我们将详细讲解一下各个AT指令的用法并进行实践,我们先使用让WB2开发板联网,然后等待几秒,让命令执行完毕;然后逐条发送AT命令+延时,直到完成所有工作。




常用功能
命令格式
正确返回值
测试 AT 启动
AT
OK
模块重启
AT+RST
OK  + 设备信息(注释)
链接WiFi网络
AT+WJAP=SSID,PassWord
OK
WiFi上电自动重连
AT+WAUTOCONN=1
OK
设置串口波特率等参数
AT+UARTCFG=9600,8,1,0
OK



设置域名
AT+MQTT=1,192.168.202.10
OK
设置端口号
AT+MQTT=2,1883
OK
设置连接方式
AT+MQTT=3,1
OK
设置用户 ID
AT+MQTT=4,client_id
OK
设置 MQTT 用户名
AT+MQTT=5,admin
OK
设置 MQTT 密码
AT+MQTT=6,public
OK
设置遗嘱主题 LWTTOPICqos0,开启retained,负载消息为 123456
AT+MQTT=7,"LWTTOPIC",0,1,"123456"
OK
取消遗嘱消息则设置为
AT+MQTT=7,"",0,0,""
OK
查询 MQTT 连接和配置情况
AT+MQTT?
+MQTT:0,bemfa.com,9501,1,client_id,admin,public
OK
连接 MQTT
AT+MQTT
+EVENT:MQTT_CONNECT
设置 GPIO 输出电平
AT+SYSGPIOWRITE=10,1
OK


这次的STC代码包含项目整体代码和注释,有问题尽管留言!完整KEil工程代码和固件。
串口连接方法:RXTXTXRX即可。
因通信过程无直观的状态显示,所以我们通过GPIO命令利用起开发板自有的3LED对运行状态进行显示;


注释:
1.<at version>AT版本信息      2.<sdk version>SDK版本信息      3.<firmware version>: 固件版本信息
回复 支持 反对

使用道具 举报

ckdsx.cn | 2023-7-28 09:57:46 | 显示全部楼层
本帖最后由 ckdsx.cn 于 2023-8-2 14:08 编辑

分享和畅想
切莫闭门造车,请大家展示自己的DIY作品,共同讨论迭代改进,可享受科技生活。

通过这门课程,我们实践了一下,如何通过WB2-32开发板将本地数据上传至云端服务器的整个过程。
现在让我们回顾一下项目的关键点:
1. 什么是物联网;
2. 了解物联网课程的两个主要任务:数据上传,远程控制;
3. 将所需要的软硬件材料工具列成详细清单;
4. 通过邮箱注册免费的云服务器;
5. MQTT协议运作的方式;
6. 看实物图,连电子线路;
7. 如何烧录STC单片机;
8. 利用WB2平台和安信可调试助手完成数据上传;
9. 简单的替换传感器就可以完成各种数据采集装置的设计;

鉴于使用面包板或飞线连接非常的不美观,而且嘉立创会员可以免费打板子,于是做了块简单的扩展板;
就是讲连线用电路板代替,模块采用排针插接。下图是我的作品,欢迎上传你自己的作品一起展示!

24.png

图中的这个教学作品基于本课程知识,采用模块化设计;
主要是用于教学场景和不同传感器的开发测试场景;
考虑到大家手里的电源各种各样,所以设计了防反接,
并且使用了DC-DC模块扩大了输入电压的可兼容范围。
扩展板还预留了多个不同的接口方便连接不同的传感器;
所有模块均采用插拔安装方式,方便调试和更换;
外壳采用了工业用的防水壳,IP67保护可靠。
注:本设计模块摆放仅用于学习和测试,请勿挪作他用!
应用场景

温室大棚温控
园林绿化水控

数据机房环境监测
远程无人设备间电源开关控制


25.png

26.png


感谢您看完了本课程!若有任何问题,欢迎来聊!   WeChatBH1KZK   QQ517441387

回复 支持 1 反对 0

使用道具 举报

ckdsx.cn | 2023-7-28 09:57:53 | 显示全部楼层
本帖最后由 ckdsx.cn 于 2023-8-2 14:12 编辑

本层为各位作品的靓照预留!欢迎上传!
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则