文章目录[隐藏]
简介
1、硬件准备以及接线
1.1、硬件准备
元器件 | 数量 |
---|---|
USB转TTL | 1个 |
STLink下载器 | 1个 |
STM32F103C8T6单片机 | 1个 |
EC-01F开发板 | 1个 |
天线 | 1个 |
杜邦线 | 若干 |
1.2、硬件接线
STM32F103C8T6主控板与EC-01F开发板之间只需要四根线便可完成驱动与数据通讯操作,接线如下:
STM32F103C8T6主控 | EC-01F开发板 |
---|---|
3.3V | 3.3V |
GND | GND |
PA2(Tx) | RX1 |
PA3(Rx) | TX1 |
STM32F103C8T6主控板与STLink下载器之间也只需接四根线便可完成程序下载与调试操作,接线如下:
STM32F103C8T6主控 | STLink下载器 |
---|---|
3.3V | 3.3V |
GND | GND |
CLK | SWCLK |
SWDIO | SWDIO |
STM32F103C8T6主控板与USB转TTL之间也只需接三根线便可完成程序下载与调试操作,接线如下:
STM32F103C8T6主控 | USB转TTL |
---|---|
GND | GND |
PB10(Tx) | RxD |
PB11(Rx) | TxD |
2、阿里云生活物联网平台准备工作
2.1、注册用户并登录
第一步是在阿里云生活物联网平台上面注册账户、完成实名认证之后登录账户。
2.2、创建项目
账户登录成功之后进入控制平台,并在控制平台主界面上创建新项目,并填写项目名称,这里填写 “NB_IoT_Prj” ,类型选择 “自有品牌” 如下:
2.3、创建产品
创建完项目之后,点击进入项目,创建新产品,填写产品名称,自定义选择所属类别,选择 “蜂窝入网” 方式,最后点击 “确认”,如下:
2.4、创建设备
-
完成产品创建之后,将进入产品属性配置,功能定义部分,用户可删除部分不要的功能,添加自定义功能。
-
人机交互部分,用户可用公版APP或者创建自有APP,我们这里勾选 “公版APP”,填写品牌以及型号,如下:
-
设备调试部分,选择 “未认证模组”,该模组在最后面,点击新增测试设备,随机填写设备名称,此时将生成设备三元组,保存此三元组,用以激活设备。整个操作过程如下:
-
通过公版APP绑定设备,我们需要获取二维码,在批量生产页面点击 “配网+App下载二维码”,填写 “设备名称”,点击 “生成二维码”,如下:
3、OneNET云平台准备工作
3.1、注册账户
与阿里云生活物联网平台的准备工作一样,OnetNET的准备工作第一步先到OneNET控制台上注册用户,完成实名认证,之后便可以登录账户并开始创建产品等操作。首先进入 “NB-IoT物联网套件” 页面:
3.2、创建产品
点击 “添加产品”,在配置界面填写好产品名称,选择产品行业以及产品类别,联网方式选择 “NB-IoT”,入网方式选择 “LWM2M”,操作系统选择 “无”,网络运营商选择 “移动”。
3.3、创建设备
产品添加成功将提示添加新设备,点击 “立即添加设备”,将进入设备管理,点击 “添加设备”,设备类型选择 “正式设备” ,填写设备名称,填写入网设备的 “IMEI” 以及 “IMSI” ,开启自动订阅,如下:
完成以上操作之后,系统将生成 “设备ID” 以及入网密钥 “PSK” ,且将提示PSK仅出现一次,要妥善保管。
4、STM32F103C8T6驱动EC-01F的源码分析
4.1、串口驱动
项目用到STM32F103C8T6的两个串口,UART2用于主控板与EC-01F之间的指令交互,UART3用于打印log信息,以UART2的驱动为例,其驱动操作如下:
4.2、入网阿里云平台的指令设置流程如下:
EC616S_AT_Test(); //AT指令测试
EC616S_RF_Mode_Choose(RF_Full_Func); //关闭飞行模式
EC616S_Net_Attached_Mode_Choose(Register_status); //附着网络
EC616S_Cloud_Select(2,1); //设置入网阿里云平台,通讯数据选择JSON格式
EC616S_Join_Aliyun(product_key,device_name,device_secret); //配置入网阿里云必需的三元组
EC616S_Open_Client_Link(product_key); //打开TCP客户端
EC616S_Link_Server(device_ID); //连接服务器
EC616S_MQTT_Sub(sub_topic); //向服务器订阅指定主题的消息
EC616S_MQTT_Pub (pub_topic,"Json_Message"); //发布消息到MQTT服务器
4.3、入网OneNET云平台的指令设置流程如下:
EC616S_AT_Test(); //AT指令测试
EC616S_RF_Mode_Choose(RFMode); //关闭飞行模式
EC616S_Net_Attached_Mode_Choose(NetMode,stepFlag); //附着网络
EC616S_Port_Inquire(serverMsg_OneNET,stepFlag); //查询OneNET入网IP以及端口
EC616S_Network_Status_Inquire(NetStatus, stepFlag); //查询当前的网络状态
EC616S_Create_OneNET_Connection(stepFlag); //创建OneNET的连接
EC616S_ADD_Object(ObjectID,2, "11", 2, 1, stepFlag); //添加对象实例
EC616S_Register_Request(9600,60,stepFlag); //向OneNET发送注册请求
EC616S_Register_Source(sizeof(ResourceID), ResourceID, stepFlag); //向OneNET注册资源
EC616S_Notify(ObjectID, ResourceID, (sizeof(uploadData) + 1),uploadData); //上传数据到OneNET平台
5、入网效果
入网OneNET成功并成功发布数据之后的效果如下图:
6、源码获取
源码获取链接:https://gitee.com/ritage/stm32_-drive_-ec-01-f.git
更多资料
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,以上提供的驱动源码联系我们可以免费提供
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
公司地址: 深圳市宝安区西乡固戍华丰智慧创新港C栋410
版权声明:本文为CSDN博主「安信可科技」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Boantong_/article/details/121177613
暂无评论