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

本文涉及的产品
物联网平台,标准版 1个月
IoT设备身份认证,上限1000台 1个月
简介: 物联网全栈教程-从云端到设备(完结 十四) 一 设备端的开发是一个非常简单的工作。零妖今天就简单讲解一下物联网弹幕器这个设备的源代码,给大家提供一个裸机上云的思路。连载文章更新到这里要告一段落,因为真的没啥要讲的了。
+关注继续查看

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

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

 

首先要说的是使用技小新的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
目录
相关文章
|
安全 物联网 数据安全/隐私保护
这款安全芯片,将重新定义物联网设备上云
在9月9日,英飞凌联合阿里云举行线上发布会,面向中国市场推出基于硬件的ID²安全芯片OPTIGA™ Trust M2 ID2,旨在重新定义物联网设备上云的安全标准,专注保障物联网设备安全上云。
202 0
这款安全芯片,将重新定义物联网设备上云
|
存储 数据采集 运维
零改动,让物联网存量设备轻松上云
在物联网实际项目中,企业经常会遇到这样的情况:企业整体业务都部署在阿里云上,但设备分散在不同平台,有的采用私有协议接入了本地设备管理系统,有些设备接入了运营商管理平台...
213 0
零改动,让物联网存量设备轻松上云
|
域名解析 数据采集 运维
解密IoT物联网平台设备如何快速上云、实现全球就近接入
近年来,物联网技术正以指数级的速度日渐成熟,并潜移默化的改变着人们的生活。根据国际数据公司IDC的预测估计,到2025年,将有416亿台联网的IoT设备或“物”,生成79.4 ZB的数据。同时IDC中国研究数据显示,2020年全球物联网支出达到6904.7亿美元,其中中国市场占比23.6%。IDC预测,到2025年全球物联网市场将达到1.1万亿美元,年均复合增长11.4%,其中中国市场占比将提升到25.9%,物联网市场规模全球第一。
解密IoT物联网平台设备如何快速上云、实现全球就近接入
|
传感器 JavaScript 前端开发
物联网轻松上云实践 之 HaaS样板间
物联网轻松上云实践 之 HaaS样板间
物联网轻松上云实践 之 HaaS样板间
|
传感器 JavaScript 前端开发
HaaS样板间助物联网轻松上云实践 -《神奇的物联网》
从2020年云栖大会HaaS团队第一次发布“HaaS物联网设备云端一体开发框架”至今,HaaS团队共发布了HaaS100/ EDU K1/ 200/ 506/ 610/ 531/ 600等HaaS智能硬件。为了让广大开发者用户在拿到HaaS硬件之后不让它吃灰,我们专门打造了“HaaS JS轻应用样板间”,基于此开发者用户们可以在10分钟内快速体验一把“HaaS云端一体”的解决方案。
|
数据采集 存储 传感器
IoT物联网设备端硬件上云技术方案详解
IoT物联网设备端硬件上云技术方案详解
8473 0
|
安全 物联网 物联网安全
英飞凌与阿里云联合发布安全芯片 专注保障物联网设备安全上云
9月9日,英飞凌联合阿里云举行线上发布会,面向中国市场重磅推出基于硬件的ID²安全芯片OPTIGA™ Trust M2 ID2,旨在重新定义物联网设备上云的安全标准,专注保障物联网设备安全上云。
435 0
英飞凌与阿里云联合发布安全芯片 专注保障物联网设备安全上云
|
消息中间件 弹性计算 人工智能
【云栖号案例 | 物联网&人工智能】AI口语学习平台上云 云分期节省上云成本
AI人工智能依赖GPU的算力,对业务的可用性要求较高。上云后云资源的弹性灵活部署满足业务在不同阶段的需要,后期也可随着业务的拓展再升级规格。
【云栖号案例 | 物联网&人工智能】AI口语学习平台上云 云分期节省上云成本
|
机器学习/深度学习 人工智能 自然语言处理
【云栖号案例 | 物联网&人工智能】言图科技上云 成功解决提供深度学习API调用问题
线下GPU服务器,成本高、不灵活,没有使用过云GPU服务器,对选型、参数性能和应用场景困惑。上云后解决了提供深度学习API调用的问题,选择最优的方式。
【云栖号案例 | 物联网&人工智能】言图科技上云 成功解决提供深度学习API调用问题
|
传感器 人工智能 城市大脑
【云栖号案例 | 物联网&人工智能】云栖小镇上云 如何解决城市停车“老大难”?
云栖小镇通过先离场、后付费、全域时空调度算法,实现停车位数据全接入、打通路面监控系统,自动识别违停情况,提升车位的利用率和车主的出行体验。
【云栖号案例 | 物联网&人工智能】云栖小镇上云 如何解决城市停车“老大难”?
相关产品
物联网平台
推荐文章
更多