【连载,完结】物联网全栈教程-从云端到设备---简单介绍单片机代码,裸机上云!

简介: 物联网全栈教程-从云端到设备(完结 十四) 一 设备端的开发是一个非常简单的工作。零妖今天就简单讲解一下物联网弹幕器这个设备的源代码,给大家提供一个裸机上云的思路。连载文章更新到这里要告一段落,因为真的没啥要讲的了。

物联网全栈教程-从云端到设备(完结 十四)

设备端的开发是一个非常简单的工作。零妖今天就简单讲解一下物联网弹幕器这个设备的源代码,给大家提供一个裸机上云的思路。连载文章更新到这里要告一段落,因为真的没啥要讲的了。

 

首先要说的是使用技小新的MQTT单片机编程小工具生成一个C语言的头文件,这个在之前的文章里已经说过了。你的单片机要干的事情就是通过串口把这些16进制的数据发送给CH9121模块,然后CH9121模块会自动把这些数据打包一下以TCP的形式发送给服务器。

 32ca483afbfc57a798720a722875e8f2afce27aa

 

单片机的串口资源真的非常好用。STM32F103C8T6这个型号的单片机有三个可以独立使用的串口资源,物联网弹幕器真正用的其实是两个,一个是串口1和电脑的串口连接,调试代码时候输出数据用的,一个是串口3用来和CH9121通信用的。在代码上你可以让串口1和串口3连接在一起,这样就可以在电脑上发送数据给CH9121了,实现的方法请看代码。

 

 2f652b47148d7347e2ce6a9d139ac11a61c5fd4f


 b7978c17271169350a6b6c5de14a1f58cf811ad7

 

在单片机的内部程序里,也是可以控制串口3发送任何数据的,所以就能发送小工具生成的数组到CH9121了。代码如下。

 

 fe94d579f62fe9db311369c863c51dcc73b92b0b

从云端下发给设备的信息可能每次都不一样,比如说弹幕信息,每个人发送的都不一样那么单片机接收的数据长度就不一样,这需要你使用循环队列的方法来接收数据。首先你要预测一下云端一次性有可能下发数据的最大字节数,然后队列缓冲区的大小要是它的两倍以上。这样的处理可以非常有效的防止数据接收丢失的问题。

 f8ddcb52d8f22ebbd4872986ac953c5b030c37e8

 

为了示范物联网设备的数据上报流程,物联网弹幕器上面安装了一个温度传感器。这个温度传感器输出的是一个电压信号,这个电压的大小是和温度成正比例关系的。单片机能够通过一种叫ADC的方法来获取这个电压数值,然后就可以计算温度了。

 f8ddcb52d8f22ebbd4872986ac953c5b030c37e8

 

在开始做规划的时候,我从来没有认为显示一个汉字会是整个项目中最大的绊脚石。从网页上下发的弹幕信息是一个字符串,这个字符串是UTF8编码的,英文字母一切正常,但是涉及到汉字就一定会乱码,因为单片机这边按照往年经验直接做了GBK编码的处理。

经过零妖老哥的不断摸索,终于发现了一个曲折的救国之路,就是先把UTF8编码转换为Unicode编码,然后再把它转化为能够显示再OLED上面的点阵信息,存到外部存储器里面,需要的时候就读取一下并显示出来。相关代码如下:

 b091e6b81efbc36463e875df2de3690c2e97a1da

 e7c262f8c627621a76e5b08111ef3a40616f419c

 

好了,零妖老哥的物联网全栈教程分享到这里就结束了。感谢各位兄弟的支持和鼓励让我有动力连载完毕(坚持做一件事情真的好难)。尤其感谢阿里巴巴IOT事业部的同学提供技术上的帮助。

有很多的想法和具体的细节是没办法在一个文章里写清楚的,为了能帮助更多的朋友快速上云,零妖把这个教程拍成了一个系列的视频教程,同时提供了物联网弹幕器的相关硬件(前面已经给了你开源地址,你完全可以自己做硬件哦)给想节约时间的工程师评估物联网项目使用。

                                                                          

 

写在最后:祝你抓住物联网市场的1%的机会!

 

 

 

 

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
4月前
|
SQL Oracle 关系型数据库
助力工业物联网,工业大数据之ODS层构建:代码结构及修改【九】
助力工业物联网,工业大数据之ODS层构建:代码结构及修改【九】
88 0
|
2月前
|
安全 物联网 区块链
云端防御:云计算时代的网络安全策略与实战《未来已来:探索区块链、物联网与虚拟现实的融合革新》
【7月更文挑战第31天】在数字化转型的浪潮中,云计算已成为推动企业增长的核心动力。然而,随着数据和应用逐渐迁移到云端,网络安全问题也愈发严峻。本文将探讨云计算环境中的安全挑战,并提出相应的防御策略。通过分析云服务模型、安全威胁及信息安全技术的应用,结合代码示例,本文旨在为读者提供一套实用的云端安全防护方案。
36 1
|
2月前
|
机器学习/深度学习 传感器 边缘计算
云端物联:智能物联网平台引领数字化转型之路
云上智能物联网平台正在成为推动数字化转型的重要力量。它不仅为企业带来了新的商业模式和发展机会,也为消费者提供了更加便捷和个性化的服务体验。
|
4月前
|
传感器 存储 监控
编写Arduino代码:构建物联网设备,实现上网行为管理软件对网络的实时监控
使用Arduino和ESP8266/ESP32等Wi-Fi模块,结合传感器监控网络活动,本文展示了如何编写代码实现实时监控并自动将数据提交至网站。示例代码展示如何连接Wi-Fi并检测网络状态,当连接成功时,通过HTTP POST请求将“Network activity detected.”发送到服务器。通过调整POST请求的目标URL和数据,可将监控数据上传至所需网站进行处理和存储。
166 0
|
4月前
|
存储 运维 网络协议
【开源物联网平台】物联网设备上云提供开箱即用接入SDK
IOTDeviceSDK是物联网平台提供的设备端软件开发工具包,可简化开发过程,实现设备快速接入各大物联网平台。设备厂商获取SDK后,根据需要选择相应功能进行移植,即可快速集成IOTDeviceSDK,实现设备的接入。
230 0
|
4月前
|
SQL Oracle 关系型数据库
助力工业物联网,工业大数据之ODS层构建:申明分区代码及测试【十】
助力工业物联网,工业大数据之ODS层构建:申明分区代码及测试【十】
80 0
|
4月前
|
数据采集 监控 物联网
物联网时代的电脑行为监控软件:代码实现与设备连接
随着物联网技术的飞速发展,电脑行为监控软件在日常生活和商业领域中变得愈发重要。这种软件通过对电脑用户行为的监测,提供了有益的数据,有助于改善用户体验、增强安全性,甚至在一些场景中实现自动化操作。本文将探讨物联网时代的电脑行为监控软件的代码实现与设备连接,并重点介绍监控到的数据如何自动提交到网站。
320 0
|
消息中间件 存储 NoSQL
ThingsBoard 物联网平台-代码结构分析
ThingsBoard 物联网平台-代码结构分析
1325 1
HH
|
运维 监控 Java
阿里云物联网平台之云端如何下发十六进制指令
云端可以通过调用Pub接口下发十六进制指令 MessageContent这个参数即Pub接口的消息内容,是原始消息内容经过base64编码后的一串字符串, 平台收到Pub的消息内容之后,会自动对消息内容进行base64解码,然后转发给设备端。 这里的原始消息,可以是String类型的字符串,也可以是Byte数组类型的十六进制数据, 所以我们原始消息需要传入Byte数组(十六进制)数据,然后通过base64编码,就可以通过MessageContent这个参数,下发给设备。
HH
1445 1
|
物联网
无线通信0号节点接收其他节点的ID号,并printf打印出来(含核心代码)_物联网挑战赛第四届(2020)第二题
无线通信0号节点接收其他节点的ID号,并printf打印出来(含核心代码)_物联网挑战赛第四届(2020)第二题

相关产品

  • 物联网平台