完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 本帖最后由 Cumu 于 2021-8-10 22:27 编辑 Cumu开源项目已经改名为:七云物联,请访问www.iot7.cn的文档中心下载开源资料 一、Cumu开源智能万用表项目简介 做嵌入式开发有5个年头了,从大二接的第一个项目开始,到现在大大小小做了20几个项目,用的最多的就是身边那台50多块钱的万用表,期间想过换一台500块钱左右万用表,发现除了精度高之外并不能给我带来太多的惊喜。2014年随着WIFI产品的爆发式增长,WIFI芯片的价钱也开始亲民, 于是我有了打磨一台智能WIFI万用表的想法,首选的万用表芯片正是那台500多块钱万用表使用的FS9721,它的串口输出可以很方便的将测量数据发送给WIFI模块,并且保护功能完善、外围电路简单。 这个项目若能完成第一个阶段,你将会以100元的成本做出堪比500多元万用表性能的智能万用表,最主要的是它具有物联网功能,你身边所有的智能设备都将是这台万用表的显示窗口。 作为开源项目的发起者需要起一个响亮的名字,我头脑里闪现的第一个词语是“积雨云”,英文单词“Cumulonimbus”,简称“Cumu”,积雨云有另一个有冲击力的名字:雷暴云 这个开源项目的出发点是为了适应我自身开发需求,并没有任何商业目的,也许应用人群会非常小众,但我相信一定会有和我需求一样的开发人员: 1、身边那么多大屏显示设备(台式电脑、笔记本电脑、平板电脑、智能手机),为何不摆脱又小又单调的万用表显示屏; 2、使用万用表调试电路板时,经常因为记不住前几次测量的值而重新去测量,我需要一个聪明的Cumu万用表,用于我随时查询以前的测量值; 3、在电路板的调试或老化期间,Cumu万用表接入测量点,我可以离开工作台,随时随地拿出手机就能知道现在电路板的工作状态(以后加入反向控制,当工作不正常时,远程关闭电路板电源); 4、做开发工作需要各种各样的设备(信号发生器、频率计、多通道IO控制、多路信号采集等等),各种仪器我只做前端,一个Cumu万用表做后端就够了,这种扩张机制可降低每种仪器的成本、也能使每种仪器都有联网功能。 5、在测量特别精密的电路板时,我集中注意力将表笔放到测量点,这时多希望旁边有个人帮我读出万用表的测量值,既然不能雇佣一个人24小时为你读测量值,那么就让Cumu万用表帮你读出来吧(软件语音合成)。 2014年有的这些想法,并将需要的工作量化,2015年初设计了一个测试板,验证FS9721和WIFI芯片,当时想用WIFI芯片的SDK直接开发,这样可以省去MCU,但是在测试板上验证时发现WIFI芯片的功耗非常大, 这样不利于电池供电,果断放弃SDK开发,在论坛看到网友介绍STM32F030的性价比非常高,查看了相关资料后确定下来使用STM32F030,以前想过使用STM8L,但是RAM和ROM太少,担心以后不够用。 二、整体方案需要解决的问题和解决办法如下: 1、传统万用表切换量程是用拨盘触点,Cumu万用表需要远程切换量程,所以得更改FS9721的设计电路,使得所有档位都可通过MCU控制; 2、传统万用表的电流档与其他档位不是一个表笔孔,Cumu万用表需要自动切换,若用普通继电器吸合时很耗电,所以需要使用磁保持继电器; 3、FS9721的串行数据输出的是LCD断码信息,需要反编码成档位和数值,这部分程序我已经写完,并用C#通过串口读取FS9721验证通过; 4、使用电池供电需要尽可能的降低整体功耗,这需要后期软件优化; 5、为个让更多人接受Cumu,每个元件都精打细算,整体硬件成本控制在100元左右; 6、为提高测量精度,关键元件需要使用千分之一精度电阻,在原理图中已经标注; 7、安卓客户端由我老婆编写,将推出两个版本,手机版和平板版; 8、PC客户端还没开始设计,我学了一点C#,可以先做一个简陋的版本,还需要上位机高手帮忙设计; 9、物联网平台使用国内免费平台:乐联网、Yeelink、传感云等等; 10、加入反向控制,反向控制使用MQTT协议,需要自己搭建服务器,我已经验证通过了,使用阿里云的Linux主机安装mosquitto服务,完成MQTT协议通讯。 科普一下mosquitto与NQTT(百度百科): MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。 Mosquitto是一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备 另外,Mosquitto是个异步IO框架,经测试可以轻松处理20000个以上的客户端连接. 11、为Cumu加入扩展机制,预留I2C接口,使用标准协议,可以很方便的加入扩展设备(信号发生器、频率计、多通道IO控制、多路信号采集等等) 12、因为不断完善程序和增加功能,所以需要很方便的升级固件,所以板载USB转串口,使用USB充电口插入电脑即可升级固件 13、在不开模具的情况下,选一个漂亮的外壳,我已经选定一个移动电源的外壳 三、语言描述永远不如图片直接,而视频将更有吸引力! 1、2015年初为了验证FS9721和WIFI模块而设计的Cumu测试版(没有MCU,直接使用WIFI模块的SDK开发) 2、正式版PCB的效果图(双面PCB、目前有几个地方需要改动) 3、正式版真实照片 4、带有外壳的照片(还没做外壳贴面) 5、各种颜色和大小的外壳 6、最后来一张Cumu与我的工作台合影(脏乱差的工作台,正式版的PCB焊接调试花了3天时间,到最后工作台已经被元件布满了!) 7、带有外壳的效果图: 测试版调试视频: 测量DC: 测量AC 频率 占空比 : USB固件升级: 四、关于物联网平台: Cumu支持乐联网、YEELINK和传感云免费物联网平台,可以将测量数据上传到平台上,平台有很多玩法,比如:设置上下限、短信报警、微信获取数据等,这样Cumu的使用范围更加广阔 五、关于扩展: Cumu另一个特点就是带有I2C扩展接口,后续我会做一些通用扩展,用户也可以自己增加一些专用扩展,比如8路开关量采集(单片机3元+8个光耦4元+PCB和其他元件5元=12元),极低的价钱就可扩展实用的功能。 以后会加入反向控制,可玩性会提高很多。 六、以后加入的新功能 1、分时测量 当测量一个交流电压时,同时显示出电压值和频率值。当测量一个PWM信号时,同时显示出频率和占空比,实现方法就是分时切换功能,然后同时显示。 2、表笔上加入功能键 在我构思Cumu时就想在表笔上加入一个按键,但涉及到设计和开模,费用比较高,只能在后期在考虑加入。 按键功能用户可自定义,比如: 1、测量时,按下按键,APP即将读数朗读出来; 2、测量时,按下按键,APP即将数值放入存储区,以便后期查看; 3、按下按键快速切换测量功能(电压、电流、频率等等); 七、按键功能和工作模式 在照片中可以看到Cumu只有一个按键,那么这一个按键如何控制的,Cumu又是如何使用的呢? 在以下介绍Cumu工作模式中,你将会了解Cumu按键功能和几个关键词:AP模式、STA模式、AP通信状态、STA通信状态、离线工作状态。以下内容中所有的显示设备(台式电脑、笔记本电脑、平板电脑、手机等)统称为客户端。 关键词简介: 1、AP模式 属于临时状态,只有刚开机才会进入这种状态,Cumu启动热点,等待客户端连接。 2、STA模式 属于临时状态,Cumu连接路由器的临时状态。 3、AP通讯状态 属于稳定状态,当有客户端连接Cumu热点之后,进入AP通讯状态。 4、STA通讯状态 属于稳定状态,当Cumu连接到路由器之后,进入STA通讯状态。 5、离线工作状态 属于稳定状态,这种状态与普通万用表一样,只可通过Cumu屏幕查看测量值。 工作模式: 关机状态下 长按按键开机; 设备开机为AP模式,若30秒内有客户端连接到这个AP,则变为AP通信状态; AP模式30秒内,单击按键变成STA模式,主动连接保存的路由器,若连接成功,这种状态为STA通信状态。若主动连接路由器失败,则切换成AP模式,并重新计时30秒; AP模式30秒内,双击按键关闭WIFI,这种状态为断网工作状态; AP模式30秒后无连接,则切换成断网工作状态。 在AP通信状态、STA通信状态和断网工作状态,单击按键切换量程,长按按键关机; 工作流程图: 进入AP通信状态: 客户端连接到AP后,建立UDP服务端,等待Cumu连接,Cumu连接后发送注册包(注册包里包含设备信息),Cumu响应,连接成功,此时客户端与Cumu可以正常通信; AP通信状态切换到STA通信状态 在客户端中设置路由器名称和密码,当点击切换到STA模式按钮后,Cumu关闭AP热点,并连接所设置的路由器,若连接成功则进入STA通信状态; AP通信状态切换到离线工作状态 在客户端中点击进入离线工作状态后,Cumu关闭WIFI,进入离线工作状态; 进入STA通信状态: Cumu连接路由器成功之后,用UDP向指定端口广播注册包(注册包里包含设备信息),客户端监听UDP指定的端口,收到注册包后响应(包含自身IP), Cumu收到响应后,按照响应里的IP去连接手机的UDP(还是发送注册包),手机的UDP端口收到注册包后响应,连接成功,此时客户端与Cumu可以正常通信; 若STA通信期间Cumu与路由器断开,则客户端长时间不能收到数据,则提示用户Cumu已经断开连接,出现等待设备连接的画面,若Cumu又连接到路由器,则通讯继续;有可能设备重新连接路由器后换了IP,所以客户端要按照新IP响应; 若STA通信期间客户端与路由器断开,则Cumu发出的数据没有响应,则提示用户客户端已经断开连接,出现等待客户端连接的画面(LCD12864),此时按下按键则切换成AP模式。等待期间若客户端重新连接路由器(Cumu又能收到响应了),则继续通讯; 介绍的太详细就会有点乱,简单说明Cumu的使用方法: 1、在没有路由器的环境下使用 长按按键Cumu开机,拿出手机(也可以是平板、笔记本电脑等)30秒内手机会搜索到Cumu热点,输入正确的密码即可连接到Cumu,这时就可以用APP查看数据和控制Cumu了,APP可以切换档位量程,APP也可以输入路由器名称和密码让Cumu主动连接路由器,单按Cumu按键切换档位量程,长按按键关机。 2、在有路由器的环境下使用 长按按键Cumu开机,30秒内单按按键使Cumu主动连接保存的路由器,若连接成功,则Cumu会发生UDP广播,手机在同一路由器下打开APP,会搜索到Cumu,然后连接即可。 3、离线工作模式 长按按键Cumu开机,双击按键进入离线工作模块,这时与一台普通万用表一样,若开机后30秒无任何操作,自动进入离线工作模式。 八、如何得到最新的原理图PCB和程序源码 1、15年初我做了一个Cumu网站,但是个人精力有限,网站并不完善,Cumu的开源文件会第一时间上传到这个网站,现在几个关键词已经优化到百度首页了,你们可以百度搜索以下几个关键词:Cumu、开源万用表、智能万用表、WIFI万用表 2、我也会在第一时间发到各大论坛,并且把软硬件的设计思路和教程发布出来,自认为电路有几个地方设计的挺巧妙的 九、总结 Cumu项目我会不断完善,并且在可以正常使用时推出套件(软硬件全部开源,套件适合新手或者是不想DIY的人使用,当然会在成本的基础之上加一些价格,不能接受完全可以自己开板买元件去做)。感兴趣的朋友邮箱联系我吧:jiafulu@163.com Cumu宗旨:开源、开放、自由 程序还在编写,争取每个星期更新一次进度,然后发布出来 ` 评分 |
|
相关推荐
|
|
1276 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1209 浏览 3 评论
2288 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1372 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1799 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 12:23 , Processed in 0.521079 second(s), Total 43, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号