体重秤上云-规划硬件电路和云端功能

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
简介: 从今天起,零妖老哥正式开启一个全新的项目,称之为《体重秤的上云之路》。先看一下项目规划,一览之后将要学会的物联网技巧。关键点还是会放在从单片机开始到云端处理的数据链路。

从今天起,零妖老哥正式开启一个全新的项目,称之为《体重秤的上云之路》。先看一下项目规划,一览之后将要学会的物联网技巧。关键点还是会放在从单片机开始到云端处理的数据链路。



先说硬件吧,这个最简单。先去淘宝上买了个20块包邮的人体秤,撬开它即可(零妖后续如果出套件,你就不需要买了)。传统体重秤里面最重要的东西就是它的外壳和四个重量传感器,其他的都扔掉吧,咱们靠自己改造。

image.png | left | 747x561

 
直接说一下硬件的安排。

1,单片机型号: SWM181CBT6 一个非常好用的ARM内核单片机,功能强悍,自带16位差分ADC,用它来检测传感器输出的电压信号非常合适,而且价格公道!

2,数码管显示:TM1627 这颗IC。让专用IC来驱动数码管,显示重量。原因:贴近实战,如果你日后开发小家电就知道了。体重秤最适合的显示方案其实是段式液晶屏,不过这个比较难学会,就选择了数码管。

3,供电:一颗锂电池供电。电路板上要自带锂电池充电电路,选择TP4056这颗IC,专业干这个事情。利用单片机自带的ADC功能,可以检测电池电量。

4,开关机电路:使用电容式触摸开关作为开机信号。检测人体脚丫子是否接触,使用RH6030这颗IC,实现单路电容式触摸(可以把电路板部署在玻璃下方,非接触式的)。

5,上网方式:Air202这个型号的模组,上海合宙生产的优秀的GPRS模组,最大的优点是内置SIM卡,你买过来后插上电只管用即可(缴费的话有上海合宙提供的后台)。

image.png | left | 747x561

 



硬件的事儿搞完之后,就可以完成一个DIY人体秤的项目了,可是零妖不满足于此,物联网的时代已经到来了,咱要配合大数据的趋势,真正改造自己的生活!

说说云端的安排:

1,需要上报两个数据到云端的数据库,一是当时的体重数据,二是当时的电池电压信息。数据上报是使用GPRS通信路径,通过MQTT通讯协议和阿里云的物联网套件配合的。

2,你如果是新手,需要去阿里云官网注册一个阿里云账号。开通物联网套件服务,这个是符合大规模商业部署的服务,咱不是弄个项目闹着玩的,所以阿里云那边会收费,保守估计整个流程下来不超过10块钱。

image.png | left | 747x301

3,可以这样理解一下,当体重和电压数据上报到云端之后,就会存储到数据库里面。然后我们需要配置一个叫做 “规则引擎” 的东西,来指挥这些数据的流动方向。这个是和物联网套件一起的,我们要配置一下。

4,你想看你的体重变化趋势,分析自己的健康指数,如何快速统计数据?常规办法是字节写个软件,读取历史数据并呈现出来。零妖今天带来一个可以商用的方案,你学会这个方法后就可以去干项目了。阿里云推出的DataV 服务,最便宜套餐一年50元左右。

image.png | left | 747x442

 
5,使用大屏展现历史数据等功能,需要使用一个数据库才可以,那么RDSForMySQL就是非常不错的选择。你可以学会云数据库和物联网设备的配合方法,非常简单,很少涉及代码的。这个也是可以商用的服务,你学会后可以干项目。所以阿里云是收费的。咱们练手的话可以选择一个便宜的套餐,比如按量收费,0.174元/小时 。

image.png | left | 366x415

 
6,顺便再实现一下手机接收通知的功能。最简单的当然是短信通知了,这个如果有精力就给做了,没精力就放一放,因为有一个更有用的功能,就是结合手机钉钉,让钉钉接收消息。阿里云的短信服务很便宜,一条短信低于一毛钱的,重点说一下如何实现让钉钉手机APP接收消息。

这里使用的是阿里云计算提供的“函数计算”服务。零妖通过在云端部署一段Python代码,来实现一定的业务逻辑,这个具体做的时候再分析具体方法。这个服务是按量收费的,体重秤上云项目最多消耗十几块钱的消费。

image.png | left | 747x590

 



看到了吧,物联网项目开发将会是一个跨学科的全栈开发路径。你需要懂硬件比如单片机电路的原理,单片机的代码编写等,还需要懂软件比如云端的数据交互,Python等。放心吧,零妖将会带你一点点学习物联网,掌握全栈技能。

微信公众号偶尔更新。

image.png | left | 310x310

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
消息中间件 SQL JSON
自建MQTT迁移阿里云物联网平台指南
2020年是5G大规模商用的元年,使用阿里云物联网平台在产业爆发前打造一套安全可靠的业务架构,更能解放人力专注业务开发!
16492 0
|
11月前
|
存储 安全 Java
别再被绕晕了!5分钟读懂成员变量和局部变量的所有区别!
本文以小明的面试经历为例,详细解析了Java中成员变量与局部变量的区别,包括定义位置、生命周期、默认值、修饰符支持、存储位置及多线程环境下的表现,帮助读者更好地理解和应对面试中的相关问题。
269 3
|
传感器 监控 安全
物联网(IoT):定义、影响与未来
物联网(IoT):定义、影响与未来
1853 3
|
人工智能 自然语言处理 程序员
通义灵码体验分享
如果你也是一名程序员,我强烈推荐你试试通义灵码。它不仅能够帮你提高开发效率,还能够给你带来全新的编程体验。让我们一起迎接AI编程助手带来的无限可能吧!
284 0
|
存储 传感器 算法
在嵌入式系统中,硬件和软件之间存在的关系
在嵌入式系统中,硬件和软件之间存在的关系
850 1
|
JSON JavaScript 前端开发
一篇文章讲明白json文件格式详解
一篇文章讲明白json文件格式详解
934 0
|
存储 Java API
嵌入式工程师如何写好技术文档
嵌入式工程师如何写好技术文档
459 1
|
资源调度 JavaScript 前端开发
npm和yarn到底用个好以及对应的使用指令大总结
npm和yarn到底用个好以及对应的使用指令大总结
462 0
|
消息中间件 Linux
【Linux】进程间通信之消息队列
【Linux】进程间通信之消息队列
|
关系型数据库 MySQL Windows
解决mysql max_allowed_packet 太小 造成的程序查询数据报错问题
1.因为mysql有一个max_allowed_packet变量,可以控制其通信缓冲区的最大长度,所以当缓冲区的大小太小的时候,导致某些查询和插入操作报错。 解决方法如下, 2.解决方法 2.1 修改配置文件 a .可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。 max_allowed_packet = 20M
927 0