基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)

  • 基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)
  • 基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)
  • 基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)
  • 基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)
  • 基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)

基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)

基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)

基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)

基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)

基于STM32F103ZET6 简易不间断直流电源的设计方案(原理图+源程序+bom表+演示视频)


基于STM32F103ZET6 简易不间断直流电源的设计方案


一、任务 设计并制作用于电池储能装置的简易不间断直流电流,实现电池的充放电功能,功能可由按键设定,亦可自动转换。电池组由18650型锂离子电池串联组成。所用电阻阻值误差的绝对值不大于5%。?
二、要求

接通S1、S3,断开S2,将装置设定为充电模式。

(1)U2=30V条件下,实现对电池恒流充电。充电电流I1在1~2A范围内步进可调,步进值不大于0.1A,电流控制精度不低于5%。

(2)设定I1=2A,调整直流稳压电源输出电压,使U2在24~36V范围内变化时,要求充电电流I1的变化率不大于1%。

(3)设定I1=2A,在U2=30V条件下,变换器的效率>= 80%? ?

(4)测量并显示充电电流I1,在I1=1~2A范围内测量精度不低于2%。

(5)具有过充保护功能:设定I1=2A,当U1超过阈值U1th=24±0.5V时,停止充电。

电路相关文件

电路图文件
1.电路图AD文件.rar
描述:原理图
源代码
2.程序.rar
描述:源程序
其他文件
教程
演示视频.rar
描述:演示视频
分享到:
收藏 (5)
电子硬件助手小程序 电子硬件助手小程序

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归王哥所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • DIY属于你的智能家居系统,zigbee,esp8266,51单片机

    本文首发于DF创客社区 作者:2877137721原文链接:DIY属于你的智能家居系统,zigbee,esp8266,51单片机DIY家庭智能家居控制系统(2)51,zigbee,esp8266相关附件于原文下方下载【介绍】随着微功耗处理器以及通讯芯片的发展,以往较为耗能的有线通讯方式越来越阻碍了通讯网络的发展,于是一大批的无线通讯方案应运而生,例如NBIOT,蓝牙4.0,zigbee等等。同时微功耗无线处理器的流行使得传统家电带上了智能的色彩,智能家居必将是未来家庭的必备。某些高科技企业也在揶揄这块市场,纷纷推出了自家的智能家居解决方案,比较知名的有米家方案以及阿里智能的解决方案。但是回到现实的使用上来说,每个家庭的条件环境其实不一样,同样的产品未必在每个家庭上都可以使用方便,所以个性化的定制产品才可以更好的方便我们的生活。 于是在暑假期间,萌生了DIY一套智能家居方案的想法,具有各种智能开关和传感器等节点,并且对接物联平台实现联网控制以及数据的上传。由于家庭中将会使用到的智能设备种类繁多,所以我将采用模块化的设计思路,即采用核心板加外围功能部分的思路,像搭积木一样的构建各个智能设备。大家有同样想制作的想法可以参考。 截至发帖前,我完成了智能网关,智能墙壁开关,无线遥控开关以及无线气象站的设计制作,之后有新的设备加入的话,我会及时的更新。【准备事项】 完成这个涉及到多方面的项目,需要的硬件设备以及开发环境较多,所以我先大概给出一个列表:软件篇: Arduino IDE:用于给ESP8266编程使用 KEIL uVision5 :用于给51单片机编程使用 串口调试器:用于监控单片机输出数据 lceda设计软件:绘制电路原理图,设计PCB电路板 硬件篇: NodeMCU亚博足彩--任意三数字加yabo.com直达官网一块 亿佰特zigbee模块若干(视节点数量而定) STC8F2系列单片机若干 核心的主要控制器件在此列出,其他元器件会在制作过程中一一说明。【制作过程】我构想了一张智能家庭的网络拓扑图,大家可以欣赏以下,后期图上的设备都将加入进来: 由于涉及到多个设备的设计制作,所以本个报名贴先奉上智能家居核心板,智能网关以及无线气象站的制作过程:#制作过程之核心板篇#>>>本项目使用zigbee网络进行智能家居之间的通信。好早之前就接触过zigbee组网,对于这种低成本低功耗的网络还是抱有很大信心的。这里讲解选择这个网络的几大理由: mesh结构的网络很适合智能家居的控制结构,在入网的任何一个节点都可以访问到所有节点的数据,这点很适合网关控制各个设备。低功耗使得终端设备甚至可以采用电池供电,使得所有的模组都尽量可能的无线化。多跳传输,无线方案中最大的问题就是数据发送的不稳定以及障碍物对信号的遮挡导致数据无法正确传输,而ZigBee的多跳恰好解决了这个问题,节点会自动选择优质的传输路线多跳传输,保证信号质量。总结一下:zigbee网络确实是好,但是对于我这种比较懒惰的人并不想去学习那复杂的传输理论以及zigbee通讯芯片的编程,于是我选择上网购买ZigBee模块,最后选择了一种小型的串口转zigbee模块,比较方便单片机通讯。 说到模块化,那么就需要核心的控制板。本质来说就是将单片机以及购买的zigbee模块集成到一张电路板上,并且预留各种接口,方便后期移植到各种设备上,这样一张电路板就可以适用各种智能家居设备了。 在保证功能足够的同时,体积也是我需要考虑的问题,如果核心板做的过大,会导致无法安装到某些空间狭小的智能设备中,所以小体积是我所着重考虑的。基于多方面考虑之后,stc8F2k08s2进入了我的视线,小巧的sop16封装以及简单的外围电路,足够的IO口(14个)。这款芯片成为了核心板的控制单片机。于是一番绘制原理图以及PCB之后,成品大概明朗了: 焊接好的成品如下: 这将会成为以后所有我的智能家居方案的核心控制板。#制作过程之智能网关篇# 完成了核心板的制作,网关成为了下一个比较关注的对象,因为家中的所有智能设备的控制以及通讯都会由他来完成,包括链接到互联网上传数据,所以说对于网关的硬件选取也是重中之重。上联互联网,下接zigbee小型通讯网,网关担任了一个家庭控制中心的角色,对于它的选择我认为esp8266是个不错的方案,可以支持arduino ide编程,这对于不太了解网络通讯协议的我来说是个好消息,因为在arduino的编程中,我可以借助强大的库函数来完成我想要的功能。 ESP8266是一个拥有了近80Mhz的主频的32位处理器,内置了wifi模组省去了网线,并且拥有丰富的外设以及较高的性能,可以胜任智能网关的工作。当然,近期乐鑫发布的ESP32系列芯片也会是个好的选择,更高的主频以及wifi蓝牙双模的设计让其拥有更加方便的接入方式,由于手头上正好有一块ESP8266,所以没有采用性能更好的ESP32。这样我需要对ESP8266进行片上编程,并调用它的串口和zigbee模块通信,当zigbee的节点收到其他设备发来的数据的时候,ESP8266可以对其处理或者通过WiFi上传到云平台,整体的设计思路就是这样。 为了方便网关节点的状态显示以及相关信息读取,为以后的调试提供便利,我决定给网关添加了显示屏屏,这样方便信息的读取以及调试工作。最终选择了下面的这块4.3寸的串口组态触摸屏。 完成了zigbee节点核心板的设计以及网关的硬件选择,整个智能家居系统的主要部分就构建完成了,我先不讲解程序的编写,因为我将会在调试好每一个智能设备之后,再对网关进行编写对应设备的接口程序。即完成一个智能设备的开发之后再对接网关,使其加入到家中的zigbee网络,实现联动控制或者联网控制,因为毕竟我使用的ZigBee模组只是起一个通讯的作用,具体的功能实现还是靠核心板上的单片机来完成。这种开发方法叫做迭代开发,对于较为庞大的项目是一种较好的解决方案。搭建好的智能网关。 #制作过程之无线气象站篇# 接下来我将会进行首个智能设备的制作,我将会从制作这个设备的缘由开始,一步一步去实现我想要的功能,帖子篇幅较长,请慢慢观看。1.起因: 说到气象站这个东西,一般大家都会觉得气象局才需要这个东西去量测各种气象数据(温湿度,气压,风速风向,紫外线强度等等),而我们得知当天的气象数据多半是靠手机上的天气软件来查看的,但是这样带来一些问题:手机上获得的数据往往不能代表区域中所有的数据,如果我们可以在家中自己搭建一个气象站,这样就可以得知最实时的,最精确的数据,最具有参考性。同时,气象站的各种数据输出还可以在以后为我带来更加合适的穿衣建议,以及可以和家中的其他设备联动,比如室外光线弱会自动开启室内电灯之类的。2.气象数据选择 气象数据有很多种类,我选择了几项对生活影响较大的参数:温度、湿度、气压、光照强度、紫外线强度。选择这些参数的原因,基于以下几方面: 温湿度数据可以给让我知道外面是高温还是低温,干燥还是湿润,这对一些出行需要携带的衣物以及保湿工作起到很好的参考作用。气压数据很能说明接下来的天气情况,相信大家都知道雨前蜻蜓低飞的原因,就是因为气压较低,如果当前测得的气压较低,那么周边高气压的区域的空气会向低气压区域流动,低气压区域的空气就是越聚越多,导致空气上升,遇冷凝结,造成降雨。所以气压数据可以很好的预报将来是否会有降雨发生。光照强度以及紫外线强度可以很好提醒我是否需要防晒以及携带墨镜等等,因为并不是光照强度越大紫外线强度就越大的,前者表示了照明强度,单位是勒克斯,后者表示了紫外线的强度,单位是瓦每平方米。在中国近赤道的城市,太阳的紫外线强度普遍比其他城市大,但是光照强度并不会比一些“火炉”城市大。这就是为什么有的太阳光看起来不耀眼,实际上很伤害我们的皮肤。3.传感器选择 这个气象站由于需要长时间使用,那么在倡导节能减排的今天,低功耗是必须要考虑在内的。所以对于传感器的选择,我使用了一些采用iic接口通讯的数字传感器,既可以保证数据的精确,也可以设置传感器进入低功耗的模式。下面是我所 使用的传感器,输入这些名字就可以在某宝搜索到 : SHT20 :温湿度传感器BMP280:气压传感器VEML6070:紫外线传感器BH1750:光照强度传感器 4.代码的编写: 这么多传感器的调试是一个比较费时费力的工作,我耗费了几乎一周的时间来调试这些传感器,索性终于都可以正常的输出数据了。下面用一张表来解释气象站的代码逻辑: 可以看到,在程序开始执行之后,首先初始化了各个传感器以及设置他们的工作模式,然后四个传感器纷纷进入低功耗模式节省电力。由于气象站需要在每次间隔一段时间后上传所有的传感器数据,所以我在这里用到了STC8系列单片机所带有的掉电唤醒定时器,这个定时器在单片机进入掉电模式之后仍然可以运行,这样定时器在设定时间到来之后就会唤醒单片机,这时候单片机就可以依次唤醒所有传感器并且获取数据,然后再次进入掉电模式,等待下一次唤醒。这样我使用所有传感器都带有的低功耗睡眠模式以及单片机的掉电模式很大程度上节省了电力,使得这个气象站使用电池供电成为可能。5.实物的焊接制作调试好了所有的传感器,下面就是把他们焊接到一起了,我使用洞洞板来焊接四个传感器。 焊接好了之后,实测待机状态下的电流数据11uA: 单片机唤醒,采集传感器数据,使用zigbee模块发射出去时的整体电流数据28mA 综合来说,待机状态下的电流数据几乎可以忽略不计(微安级),而在发射状态下,其电流可以达到28ma左右,但是毕竟此状态下需要的时间极少(800ms左右,包括收集传感器数据以及发送)所以气象站决定采用锂电池供电,我采用了比传统锂聚合物电池稳定许多的18650电池(很害怕锂聚合物电池鼓包)。 但是采用了电池供电的设备,免不了更换电池或者充电的苦恼,所以进过一番设计过后,一个永远都不用充电的气象站诞生了: 由于气象站长期在室外(我家阳台上),所以我没有浪费室外较好的太阳能资源,于是我购买了一个太阳能电池板以及一个太阳能充电器,这样在晴天太阳能就可以给电池补充电力,在没有太阳的情况下,则使用锂电池来给气象站供电,下面是太阳能电池板在多云天下的输出电压: 锂电池用的是一个2200mah的18650电池,根据理论计算,满电的18650电池大概够气象站续航: 这样的续航成绩保证了连续近一个半月可以用纯靠电池供电,加上太阳能电池板晴天下近9小时的电力输出,这下可以永远不需要充电了!!但是为了考虑周全一点以及保护电池,我给18650电池增加了一个保护板,这样即使极端环境下,电池也不会过放了。6.气象站输出数据测试 现在气象站可以正常的定时唤醒了,我开始准备测试数据是否正常,链接zigbee的协调器节点到电脑上,打开气象站的电源,可以看到每隔一段时间,串口都会输出一些数据: 下面是对一帧数据的解读:(当前的测试位置是气象站放在室内上,当天晴天) 经过16进制到10进制换算后,可以得到当前的气象数据: 湿度:64.8%温度:32.08度气压:100194帕斯卡光照强度:213勒克斯紫外线强度:1(室内几乎为0,此数据请参考VEML6070的数据手册,作进一步分析)可以看到气象站的数据正确无误,所以接下来就是针对网关的开发了7.网关对应程序的编写: 由于ZIgbee协调器节点是采用串口通信的方式,于是需要ESP8266的串口来于协调器节点进行通信,所以我使用了Arduino自带的软串口库,这样我可以随意定义两个io口作为串口使用。 网关对于气象站来的数据需要分为接受,处理,上传到物联平台共3个过程,所以我一部分一部分的讲解如何处理。 接受过程: 从之前的气象站测试数据图来看,一帧数据一共有近20多个字节,所以当一帧数据到来时,我一次性的将其从串口取出,并且依据数据的格式,从中获取节点类型,节点编号,指令类型,数据长度等信息。 得到了这些数据之后,就方便我的网关去判断到底数据来自哪个设备,从而执行相关的程序。那么现在我的网关凭借节点类型知道了是无线气象站发来的数据,接下来就进入到数据处理的过程了。 处理过程:大家可以看出,气象站发来的数据全部是16进制的,所以我需要将其转换成整数型变量,以便发送到物联平台。在气象站的数据包中,取其中数据如下: 经过一些移位操作,我获得了所有的数据(十进制格式),下面就方便我上传到物联平台了! 对接物联平台过程: 这次我使用的物联平台是贝壳物联平台,是免费的,只要注册一个账号即可使用,并且有手机APP以及微信小程序,这样给我以后的控制提供了很多选择。连接方式是采用TCP链接,即我的网关需要不停的发送心跳包来保持一个在线的状态,建立好TCP链接之后,只需要向服务器不停的上传数据,这些数据就可以正常的在手机上查看了。这里借用贝壳物联通讯协议中的一个图片来说明。 得益于Arduino众多的库文件,只需要几行代码,就可以链接到自家的WIFI并且建立一个TCP链接了。 之后的事情变得简单了许多,由于贝壳物联平台的通讯格式采用的是json字符串(这也是大多数物联平台网站要求的通讯格式,即智能设备发送给服务器,服务器反馈回数据都是这个格式),所以我添加了一个用于处理json字符串的json库,这样我的智能网关就可以处理来自服务器的数据了。 至此对接物联平台的工作就完成了,下面开始演示!【照片演示】 编写好代码,并且用arduino自带的millis函数来让ESP8266每隔5s上传一次气象站发送来的数据,下载代码到ESP8266后,登录贝壳物联手机端,我查看到了这些信息: 此时ESP8266成功的收到了zigbee协调器发送来的数据,并且成功的将数据的格式转换了过来,上传到了服务器。 至此,我实现了气象站以及网关的设计,电路搭建以及数据的上传。给家里添加了相对准确的气象参考数据,并且只要我的手机有网络的情况下,随时可以查看家中的气象数据,给家庭带来了很大方便。接下来智能墙壁开关,无线遥控开关的设计制作我会持续发帖更新,以及其他更多的智能设备加入。【相关文件或资源】 在这里我附上全部各个传感器的调试代码(基于STC8系列单片机开发),所以你如果也使用了STC8系列的单片机,可以直接使用。#制作过程之智能墙壁开关篇#下面是介绍智能墙壁开关的设计,核心就是使得家里墙壁开关智能化,可以联网控制,达到场景联动,智能控制等目的。我尝试就家中的传统开关进行改造,但是发现拆开之后内部空间实在不够,没法完成改装 于是尝试网购新的开关,寻找空间大些的墙壁开关,后来我找到了专门生产触摸智能开关外壳的厂家,购买了几个触摸墙壁开关的外壳,内部空间较大,适合改造 由于是触摸面板,所以我准备使用触摸模块作为输入,那么这就带来了一个问题,控制方式的转变。传统的墙壁开关,开关的位置(抬起,按下)代表了不同的开关状态,现在变成触摸模块后,每一次触摸,代表的是开关状态的变化,即触摸一次,开关的状态变化一次(开变成关/关变成开),所以在代码的逻辑中,我会注意到这个控制模式的变化。关于执行机构,也就是一充当原来机械开关的器件,我准备使用继电器来代替。继电器可以让我使用单片机输出的信号去控制220V交流电压的通断,并且提供良好的隔离以及绝缘性能。 1.代码的编写:选择了继电器以及触摸模块之后,我在面包板上搭建了电路,接下来就是编写代码了 对于 智能开关节点,我将zigbee模块配置成了路由器节点,这样做的好处是,墙壁开关同时扮演了一个路由器的角色,看可以协助一些远距离的终端节点完成多跳数据传输。。例如我想在卧室使用一个无线开关(下一章将会说到)去控制家门口的灯光,直接将数据发送到家门口的智能开关上或许信号强度不够造成通信失败,这时我在客厅增加一个路由器节点之后,无线开关的信号便可以传输到家门口的智能开关上。 同样的,为了响应国家节能减排的号召,我给单片机配置成了空闲模式以节省功耗,但是空闲模式下单片机没法正确及时的检测到触摸按键的按下,所以我使用单片机的外部中断来检测触摸按键,当触摸按键按下时,单片机检测到电平变化,引发中断,唤醒单片机,使得单片机执行相关指令。 当zigbee模块收到来自智能网关的数据时候(例如闭合开关或者断开开关),其输出数据引发的串口中断也会唤醒单片机,这时候单片机会执行收到的指令,随后再次进入空闲模式。 此外,为了更好的检测每个开关的状态,每次开关有动作之后,会将当前的状态上报给智能网关,以便网关检测家中所有的开关状况。 2.开关的测试:链接zigbee的协调器节点到电脑上,打开智能开关的电源,可以看到每当我触摸开关,对应的继电器都会动作,并且协调器节点串口都会输出一些数据: 下面是一帧数据的解读 测试完毕,智能开关达到了我想要的功能,下面就是针对我购买的外壳设计PCB板了3.智能开关PCB的设计与制作:对于购买的外壳,我先找到了一张厂家提供的CAD图纸,上面标有了一些基本尺寸,这样方便我去设计一块合适的PCB板。将之前在面包板上搭建的电路,绘制成原理图之后效果如下: 转换成PCB文件后,经过简单的元件摆放以及布线后,完成的效果如下: 将交流高压部分和直流低压部分开槽隔离,提供了较好的抗干扰特性。而反面则设有zigbee模块以及单片机的位置。 约几天后,我收到了制作好的板子。 同时到来的还有一些元器件。 焊接过程太繁琐无聊,略去。焊接好之后的效果图 安装上触摸模块之后,使用双面胶将触摸模块粘贴在面板玻璃上。 烧录程序,合上外壳背后使用标签标明出接线口定义,方便安装。 使用智能开关替代家中的传统开关。 4.网关对应程序的编写:这部分的程序主要是网关接受物联平台发来的控制指令json字符串,然后解码翻译,最后通过zigbee网络告知智能开关引起相应动作。所以其核心在于接受服务器的json字符串,解释其含义。同样的,还是使用Arduino的json库来处理这些信息,查阅物联平台的通讯协议手册,发现采用如下格式: 所以只需要解读say指令后面附带的指令即可,于是很快的,一个使用else if语句的并列结构就写好了,程序对收到的字符串依次判断,如果相同则发送指令给智能开关。 上传程序到ESP8266,开始测试!5.综合测试安装智能开关到位,接上网关的电源,触摸触摸开关,电灯可以正常开启关闭 拿出手机,打开物联平台,按下开启电灯按钮,电灯开启。 测试完毕至此,我实现了智能开关的设计,电路搭建以及使用网络控制。并且支持各种功能扩展(定时开关,和人体传感器联动等等),升级空间十分大,并且可联网控制,给生活带来了很大方便。:#制作过程之智能墙壁开关篇#下面是介绍智能墙壁开关的设计,核心就是使得家里墙壁开关智能化,可以联网控制,达到场景联动,智能控制等目的。我尝试就家中的传统开关进行改造,但是发现拆开之后内部空间实在不够,没法完成改装 于是尝试网购新的开关,寻找空间大些的墙壁开关,后来我找到了专门生产触摸智能开关外壳的厂家,购买了几个触摸墙壁开关的外壳,内部空间较大,适合改造 由于是触摸面板,所以我准备使用触摸模块作为输入,那么这就带来了一个问题,控制方式的转变。传统的墙壁开关,开关的位置(抬起,按下)代表了不同的开关状态,现在变成触摸模块后,每一次触摸,代表的是开关状态的变化,即触摸一次,开关的状态变化一次(开变成关/关变成开),所以在代码的逻辑中,我会注意到这个控制模式的变化。关于执行机构,也就是一充当原来机械开关的器件,我准备使用继电器来代替。继电器可以让我使用单片机输出的信号去控制220V交流电压的通断,并且提供良好的隔离以及绝缘性能。 1.代码的编写:选择了继电器以及触摸模块之后,我在面包板上搭建了电路,接下来就是编写代码了 对于 智能开关节点,我将zigbee模块配置成了路由器节点,这样做的好处是,墙壁开关同时扮演了一个路由器的角色,看可以协助一些远距离的终端节点完成多跳数据传输。。例如我想在卧室使用一个无线开关(下一章将会说到)去控制家门口的灯光,直接将数据发送到家门口的智能开关上或许信号强度不够造成通信失败,这时我在客厅增加一个路由器节点之后,无线开关的信号便可以传输到家门口的智能开关上。 同样的,为了响应国家节能减排的号召,我给单片机配置成了空闲模式以节省功耗,但是空闲模式下单片机没法正确及时的检测到触摸按键的按下,所以我使用单片机的外部中断来检测触摸按键,当触摸按键按下时,单片机检测到电平变化,引发中断,唤醒单片机,使得单片机执行相关指令。 当zigbee模块收到来自智能网关的数据时候(例如闭合开关或者断开开关),其输出数据引发的串口中断也会唤醒单片机,这时候单片机会执行收到的指令,随后再次进入空闲模式。 此外,为了更好的检测每个开关的状态,每次开关有动作之后,会将当前的状态上报给智能网关,以便网关检测家中所有的开关状况。 2.开关的测试:链接zigbee的协调器节点到电脑上,打开智能开关的电源,可以看到每当我触摸开关,对应的继电器都会动作,并且协调器节点串口都会输出一些数据: 下面是一帧数据的解读 测试完毕,智能开关达到了我想要的功能,下面就是针对我购买的外壳设计PCB板了3.智能开关PCB的设计与制作:对于购买的外壳,我先找到了一张厂家提供的CAD图纸,上面标有了一些基本尺寸,这样方便我去设计一块合适的PCB板。将之前在面包板上搭建的电路,绘制成原理图之后效果如下: 转换成PCB文件后,经过简单的元件摆放以及布线后,完成的效果如下: 将交流高压部分和直流低压部分开槽隔离,提供了较好的抗干扰特性。而反面则设有zigbee模块以及单片机的位置。 约几天后,我收到了制作好的板子。 同时到来的还有一些元器件。 焊接过程太繁琐无聊,略去。焊接好之后的效果图 安装上触摸模块之后,使用双面胶将触摸模块粘贴在面板玻璃上。 烧录程序,合上外壳背后使用标签标明出接线口定义,方便安装。 使用智能开关替代家中的传统开关。 4.网关对应程序的编写:这部分的程序主要是网关接受物联平台发来的控制指令json字符串,然后解码翻译,最后通过zigbee网络告知智能开关引起相应动作。所以其核心在于接受服务器的json字符串,解释其含义。同样的,还是使用Arduino的json库来处理这些信息,查阅物联平台的通讯协议手册,发现采用如下格式: 所以只需要解读say指令后面附带的指令即可,于是很快的,一个使用else if语句的并列结构就写好了,程序对收到的字符串依次判断,如果相同则发送指令给智能开关。 来自:Hackaday Prize 2019时间:2019-08-14 diy制作
  • 全自动微缝涂胶贴标机

    本文首发DF创客社区,作者:DFBktToa_yB原文链接:http://mc.dfrobot.com.cn/thread-289777-1-1.html现在市场上有一种纸做的环保笔很流行,一个朋友就是做这种笔用纸管的,但是这种纸管样式太单一很难跟其他人有差异化,为了增加卖点需要在表面贴一层花纹纸来让产品更好看更有特点,现在市场上流行的是一种表面压了软木的牛皮纸,厚度在0.4mm左右跟名片的厚度差不多不过没那么硬,就是下图这种; 贴这种纸目前是两种做法,一种是螺旋式的机器卷绕,优点是贴的牢不容易松,缺点是缝隙略大而且由于缝隙是螺旋式的所以不管从哪个角度看都能看到缝隙;还有一种是人工贴,贴出来是竖直的一条直缝,缝隙小且只有人面向直缝那个方向时才会看到缝隙,将来容易做成类无缝,缺点是人工贴太慢还不容以把控质量成本自然就高。那个朋友倾向于朝直缝贴纸这个方向发展,所以他找我设计了这款机器,能将包括木纹纸在内的 各种花纹纸 在线涂胶并贴在纸管的表面,重点是缝隙要小,决定缝隙大小的主要因素是纸管外径的一致性和纸张长度的精确性,这台机器用步进电机送纸激光切断,确保了纸张长度的精确性,还能一机多用对各种直径的纸管和各种样式的花纹纸都能轻松适配,初定速度:1根/秒。在确定用激光这种方案之前还走了不少弯路,虽然做之前做了充分调研,看了各种干、湿贴标机还有图中这种电子行业的看似很高级的贴标机, ,比较过后发现市场上现有的机器都不行,不适用,综合成本可靠性等权衡之后确定了方案,画了设计图,买了配件,加工好之后拿回来装配,这是第一次装配的样子(没错,这次失败了,确实还有第二次): 看到上边第三张和第四张图了吗,就是放在桌子上锃光瓦亮的小零件,就这个东西,来来回回费了好大力气,最终以失败告终,所以第一版就这么结束了。(可能我有预感不会那么顺利,所以第一版并没有做机架,因为我知道还要改,机架做了也白做——蹲在地上干活真费劲)。经过讨论,切纸的工序换成激光,用激光把涂了胶水的纸切断,经过一段时间的重新设计、加工、才买配件,第二版开始装配了,这一次我做了机架并预留了配电箱的位置(预感这次没问题): 上边的第三张图,装配基本完成了,配电板先用木板临时装一下,然后开机运行;另外比较惭愧的是本人不会编程,所以用了这种指令式的可编程控制器,对于像我这种不会写程序的机械狗来说非常合适,价格也不贵,推荐: 下面是运行视频的截图: 这是成堆的纸管自动落料到输送带上一根根排列好的样子, 这张图是经过涂胶、切断、卷贴之后成品出来的样子。速度 1根/秒(能变速),适用于不同直径的管子、圆瓶、圆棒以及不同厚度、硬度的各种纸张、标签等。下面是卷出来的成品图特写,可以看到中间的缝隙即便是用相机拍出来都已经很小很小了,人眼看着的效果会更好一点,但是两端缝隙还是稍大,这是因为激光切割头的Y轴加速度太小,调整Y轴的加速度之后两端缝隙也变得和中间一样了(没拍照),再切掉两头的5mm就算成品了(还需要再做一个自动切头的小装置);再之后加装外壳、配电箱、防护板等等东西,就算完成了。哎,一把辛酸泪。。郑晓伟17717372392
    来自:Hackaday Prize 2019时间:2019-08-19 diy制作
  • 基于Processing语言的可编程LED特效灯

    本文首发于DF创客社区,作者:晓庆原文链接:http://mc.dfrobot.com.cn/thread-296806-1-1.html1.简介这是一款十分炫酷的可编程LED特效灯,例如人造火焰、雪花飘落等动态的效果。通过processing语言可以编程生成各种显示效果,提供丰富多样的交互方式,包括音乐,声音,传感器和其他东西在内的输入。可以应用于晚会,酒吧等场所,营造特殊光影效果。硬件:树莓派3B+开发版 x 1Fadecandy 亚博足彩--任意三数字加yabo.com直达官网 × 11米LED灯带 × 2电源开关 × 1软件:Processing优势:提供非常绚丽的LED显示颜色,显示效果可以编程。提供非常酷炫的交互方式,比如声音反馈、与 API 连接并获取喜欢的服务、IFTTT集成、语音识别,以及许多其他功能。进度:作品已完成,已上传先看一段炫酷的视频吧(温馨提醒:视频中某些光线的变化模式或者闪光灯的方式,可能会引起极少数人出现癫痫症状。如有不适请立即停止观看)。配合音乐享用效果更佳2.原理说明 整个LED显示效果由部署在服务器(Windows/Mac/Raspberry/IOS/Android)processing语言生成,processing 的sketch实例能够通过采样点转换位图。树莓派作为服务器的角色,给fadecandy传输指令从而间接驱动灯条。采样点发送到fadecandy亚博足彩--任意三数字加yabo.com直达官网,由fadecandy驱动8x15 的LED阵列,LED的光透过漫反射的PVC塑料管呈现出来。Processing Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概念介绍给程序设计师。它是Java 语言的延伸,并支持许多现有的Java 语言架构,不过在语法(syntax) 上简易许多,并具有许多贴心及人性化的设计。Processing可以在Windows、MAC OS X 、Linux 等操作系统上使用。目前最新版本为Processing 3。以Processing 完成的作品可在个人本机端作用,或以Java Applets 的模式外输至网络上发布。官方网站:https://processing.org下载地址:https://processing.org/download/ 效果很明显。颜色非常好,有时亮度也很高。这是一种控制光源阵列的很棒的方法,这意味着就算你不必是专业程序员,只需通过在 Photoshop 中制作的内容就做到很酷的效果。这里不得不提openprocessing.org 这个网站,它提供了丰富的草图并支持在线编辑工具。Processing还附带了一个很棒的工具用于浏览和安装所需要的库。 Fadecandy 采用了Micah Elizabeth Scott的Fadecandy亚博足彩--任意三数字加yabo.com直达官网来。她一直在从事艺术和互动实验的灯光特效工作。正如她在网站(https://www.misc.name/fadecandy)上展示的那样,大多数普通的LED 控制器在混合色调或显示正确的色彩时效果很差。于是,她制作了Fadecandy亚博足彩--任意三数字加yabo.com直达官网来解决这些问题。更好的是,它可以通过USB 连接到大小型计算机,还可以嵌入到计算机(像树莓派一样)进行控制。也可以直接与Processing 进行接口,Processing 也可以在树莓派上使用,完全可以满足这种小规模的需求。树莓派 Raspberry Pi是一款针对电脑业余爱好者、教师、小学生以及小型企业等用户的迷你电脑,预装Linux系统,体积仅信用卡大小,搭载ARM架构处理器,运算性能和智能手机相仿。在接口方面,Raspberry Pi提供了可供键鼠使用的USB接口,此外还有快速以太网接口、SD卡扩展接口以及1个HDMI高清视频输出接口,可与显示器或者TV相连。Ws2812 LED灯带 这个可控制的多彩LED灯带,不过多介绍。制作过程软件准备 1. 在Mac/Windows和树莓派上下载并安装processing 3(https://processing.org/download/),2. 下载并安装fadecandy软件到树莓派(https://github.com/scanlime/fadecandy/releases),调试过程中可以把fadecandy部署在Mac/Windows上。3. 下载processing的sketch。硬件准备 1. 树莓派3B2. 淘宝海外代购fadecandy开发版3. ws2812 60珠LED灯带2米。4. 直径5cm,长度30cm的PVC管。5. 直径10cm,长度30cm的漫反射PC管。6. 5V 6A电源。制作过程LED 灯的布局LED 我在某宝购买了两个1米长的带60个LED 的WS2812防水灯带,一个5V,6A, 30W 的电源 和一个 Fadecandy 亚博足彩--任意三数字加yabo.com直达官网。沿着PVC 管四周缠绕8条垂直的灯带,每条灯带上带15个灯,这样的高度和 LED 密度,可以改善LED灯的分辨率。 将灯带固定在PVC管上 完成外壳的部分 我会根据灯带展开的形式,决定灯带的长度。我采用光扩散PC管覆盖在LED灯的周围。 采用了Autodesk Fusion 360 软件自行设计了灯的底座外壳,采用3D打印机耗时两天打印出来。 我希望灯能够放在房子里的任意一个角落,而不是一直通过 USB 连接电脑。这意味着我需要选择小型的独立的计算平台与我的设计相匹配,需要能运行 Fadecandy 服务器并运算为LED供电的 Processing sketch。将软件部署在树莓派3B+,并集成为一个独立的LED灯。 成品化 产品外观 配合Andriod APP控制 显示效果 通过Processing 的IOS客户端控制特效灯 配合IOS App显示效果
    来自:Hackaday Prize 2019时间:2019-08-15 diy制作
  • 基于NB-IoT的智慧路灯监控系统(DF创客社区)

    本文首发于DF创客社区,作者:不脱发的程序猿【脑洞大赛】基于NB-IoT的智慧路灯监控系统(项目简介)项目背景 每当夜幕降临,城市中各种各样、色彩缤纷的路灯亮起,为城市披上了一层绚丽的外衣。但在这绚丽的外表下则隐藏着巨大缺点: 1)能源浪费:由于城市的夜晚进入后半夜后,人们已经开始休息,街上人流量开始减少,有些地段在特殊时段根本不需要过多的路灯照明,导致能源浪费,增加了不必要的成本; 2)维护困难:由于使用人工巡检,需要大量人力,而路灯数量庞大,路灯实时状态不能及时获取,导致路灯故障维护、排查效率极低。需求分析 路灯管理平台的建设,是智慧城市的一个重要组成部分,不仅能够实现城市及市政服务能力提升,也是智慧城市的一个重要入口,可促进“智慧市政”和“智慧城市”在城市照明业务方面的落地。以往在路灯管理上存在着很多问题,例如路灯开关、巡查、维护基本靠人力,重点地段晚上需要派人巡视,以保证设备的齐备率;路灯发生故障时,检修人员无法确定路灯精确位置;管理人员对路灯无法进行分时段控制、无法监控路灯整体状态;路灯保持常亮状态效率低、不节能。针对以上问题,本系统设计的智慧路灯监控系统结构图如下所示: 具体功能如下: 1)路灯节点支持自定义控制方式,可支持自定义时间控制策略和多样化控制(两侧路灯全亮、全关、隔杆高亮等)两种方式。 2)根据所在环境光照强度,自动调节路灯亮度,低功耗节能减排。 3)断电保护,电压电流超过安全阈值,路灯自动断电。 4)路灯故障自动报警,GPS精确定位,可从手机APP、微信小程序、PC端和Web平台可视化监控路灯信息,随时可调取任何一处路灯信息。 5)实时采集路灯节点工作状态、电压、电流、功率、功率因数、耗电量、产生二氧化碳、频率、环境光照度和路灯状态数据,实现统计分析和历史查询。 6)根据路灯节点历史数据,使用机器学习算法,分析路灯使用状况,构建精准城市路灯画像。 总之,基于NB-IoT技术的城市道路智慧路灯监控系统有着广阔的前景和宽广的需求。功能设计 基于NB-IoT技术的城市道路智慧路灯监控系统,在每个照明节点上安装一个集成了NB-IoT模组的单灯控制器,单灯控制器再经运营商的网络,与路灯控制平台实现双向通信,路灯控制平台直接对每个灯进行控制,包括开关灯控制、光照检测、自动调节明暗、电耗分析等操作。智慧路灯实物图如下所示: 与传统“两跳”方案不同,基于NB-IoT技术的解决方案不需要网关,每个NB-IoT路灯控制器直接接入运营商的NB-IoT网络,即可与控制平台通信,如下图所示。 基于NB-IoT技术的城市道路智能路灯监控系统包括感知层、网络层和应用层。 感知层由单独的路灯控制模块和NB-IoT终端构成。道路上的每个路灯都安装1个路灯控制模块,路灯控制模块管理路灯的开关、负责数据信息的采集和监控路灯的运行状态,它通过NB-IoT网络与NB-IoT终端进行无线通信;NB-IoT终端将路灯控制模块采集的数据信息上传到NB-IoT基站,将应用层中的手机或监控中心的管理命令下达到路灯控制模块,对感知层的路灯进行管理和监控,使用AI技术赋能,构建精准城市路灯使用状况画像分析。网路层由NB-IoT基站和Internet网络构成。Internet网络主要应用4G的LTE平台,将感知层的数据信息实时地传送到应用层,同时将应用层的控制命令传送到感知层。智能路灯监控系统网络架构如下图所示。 本系统设计方案具有以下优势: 1)对路灯的控制上,采用分时段的3种控制策略,可以实现分时间段控制道路两侧路灯全亮模式、自动调整模式(根据环境光照强弱或电压电流阈值)、终端联控模式,在满足照度需求的情况下,实现对电能的节省。 2)通信方式所采用的是中国电信的NB-IoT网络,拓扑简单、部署成本低,NB-IoT采用DRX模式,实现终端的实时在线,这种通信方式更适合静止的和低移动性且需要下发指令的场景。 3)利用GPS地理信息管理系统,可以在手机APP、微信小程序PC应用和Web平台界面上直观定位每个路灯的位置,便于维修人员确定故障路灯地址、及时维修。 4)高精度数据采集与通信技术,可采集路灯节点工作状态、电压、电流、功率、功率因数、耗电量、产生二氧化碳、频率、环境光照度和路灯状态数据,数据精度达到小数点后两位。 5)智能化设计,使用机器学习算法,实现对路灯使用状态的分析和评估。 本项目目前已经完全实现,演示视频如下所示: 基于NB-IoT的智慧路灯监控系统(设备选型)基于NB-IoT的智慧路灯监管系统在感知层可实现实时采集路灯节点的工作状态(亮灭状态)、电压、电流、功率、功率因数、耗电量、产生二氧化碳、频率、环境光照度、路灯亮度、路灯故障地理位置11种传感数据信息。 路灯控制终端节点主要由主控制器、NB-IoT无线通信模块、GPS模块、光强检测模块、电能检测模块以及输出控制模块组成,路灯控制节点模块硬件实物如下图所示: 1、主控制器 主控制器选用STM32L432KC超低功耗单片机作为微控制器,NUCLEO-L432KC 亚博足彩--任意三数字加yabo.com直达官网是首个集成一款QFN32微型封装微控制器的Nucleo-32亚博足彩--任意三数字加yabo.com直达官网,板载一颗STM32L432KCU6 微控制器(UFQFPN32),允许用户直接使用ARM在线开发工具,板载Arduino Nano针脚布局可简化功能扩展,集成的ST-Link调试器/编程器支持大容量存储器和无探针调试,可以完全满足智慧路灯节点数据处理的基本要求。 2、NB-IoT无线通信模块和GPS模块 NB-IoT通信模块采用功耗极低的上海移远BC20通信模组,以及SIM卡座、串口电路、滤波天线、复位电路组成,由电源模块供电。BC20支持GNSS,内置GNSS模块,支持GPS定位,北斗双模定位,实现卫星对路灯节点定位,极大方便用户使用。本模块接收来自主控制器的路灯实时状态、路灯节点功耗传感数据以及模块获取的GPS数据等信息,通过Internet将数据发送给华为IoT云平台,并接收用户通过Intemet发送来的控制命令。 3、光照检测模块 光强检测模块利用光照模块检测外界光照强度,并将信号通过ADC方式传入主控制器,根据环境光照强弱自动调节路灯节点亮度。 4、输出控制模块 输出控制模块使用YYAC-3S 模块,该模块采用原装可控硅,输入与输出光耦完全隔离,通过单片机IO口输出PWM调节占空比去改变220V交流电压从而达到调光调速调节功率等功能。 5、电能检测模块 电能检测模块采用UART接口和RS485接口,支持与PLC通信,刷新速度500MS,可读取电压、电流、功率、电能和频率因数参数通过RS485或UART口输出16进制数据。设计有继电器模块,结合路灯节点耗能情况和阈值报警,用户设置多种模式(分时间段控制道路两侧路灯全亮模式、自动调整模式、隔杆亮灯模式和深夜模式)实现路灯智能管理。 电能检测模块采用UART接口和RS485接口,支持与PLC通信,刷新速度500MS,可读取电压、电流、功率、电能和频率因数参数通过RS485或UART口输出16进制数据。模块设计有继电器模块,结合路灯节点耗能情况和阈值报警,用户自定义设置多种模式(例如:分时间段控制道路两侧路灯全亮模式、自动调整模式、隔杆亮灯模式、深夜模式等)实现路灯智能管理。基于NB-IoT的智慧路灯监控系统(硬件开发)本节将进行嵌入式硬件编程开发,通过电能检测模块实现实时采集路灯节点电压、电流、功率、总耗电量、功率因子、路灯开关状态、耗能产生二氧化碳、光照度、路灯亮度、环境光照度、GPS位置11种传感数据,通过NB-IoT模组实现对华为云物联网平台数据上传及下发获取,达到联动控制效果。 1、开发软件 嵌入式硬件开发使用STM32CubeMX和Keil5实现,STM32CubeMX搭建NUCLEO-L432KC亚博足彩--任意三数字加yabo.com直达官网GPIO底层配置,Keil5实现NUCLEO-L432KC亚博足彩--任意三数字加yabo.com直达官网编程开发。STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,也是配置和初始化 C 代码生成器(STM32 configuration and initialization C code generation),也就是自动生成开发初期关于芯片相关的一些初始化代码。STM32CubeMX 包含了 STM32 所有系列的芯片,包含示例和样本(Examples and demos)、中间组件(Middleware Components)、硬件抽象层(Hardwaree abstraction layer)。 STM32CubeMX简介、下载及安装参见:https://blog.csdn.net/m0_38106923/article/details/89458297 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 Keil5简介、下载、安装及破解参见:https://blog.csdn.net/m0_38106923/article/details/89492257 2、STM32CubeMX底层环境搭建 使用STM32CubeMX搭建NUCLEO-L432KC亚博足彩--任意三数字加yabo.com直达官网GPIO底层配置,主要配置微控制器晶振、定时器、PWM接口、UART1、UART2、ADC接口和LED状态指示灯接口,具体实现如下: 3、Keil5编写控制模块实现代码 在Keil5开发环境中需要编写硬件基础底层配置功能、电能电耗检测功能、GPS定位功能、环境光照检测功能、NB-IoT模组通信功能和云端交互功能。 NB-IoT模组配置实现代码可至原文查看: 更多点击链接查看:基于NB-IoT的智慧路灯监控系统(硬件开发)基于NB-IoT的智慧路灯监控系统(云端部署及训练)物联网平台包括数据管理、设备管理和运营管理等能力,可以实现统一安全的网络接入、各种终端的灵活适配、海量数据的采集分析,从而实现新价值的创造。物联网平台向各行业提供强大的API开放能力,支撑各行业伙伴快速实现各种物联网业务应用,满足各行业客户的个性化业务需求;同时,物联网平台支持无线、有线等多种接入方式,可以实现海量化、多样化的设备接入。 本系统采用华为的OceanConnect物联网联接管理平台,OceanConnect是华为云核心网推出的以IoT联接管理平台为核心的IoT生态圈。该平台具有丰富的协议适配能力,支持海量多样化终端设备接人,而且还提供数据存储、数据显示、数据分析、历史查询等功能。 硬件设备接入华为云物联网平台,具体操作可参见:NB-IoT使用CoAP协议接入华为IoT平台、NB-IoT BC20模组使用LWM2M协议接入华为IoT平台 本博文将简要介绍NB-IoT智慧路灯系统云端部署和机器学习训练模型云端搭建的实现过程。 1、华为云端部署 第一步:定义Profile 第二步:编解码插件开发 第三步:设备连接后在线测调,查看数据是否正确。 2、华为云端Web开发 通过拖控件方式开发独具特色和风格的Web应用,这里我原配置基础上增加设备状态功能、传感器监控功能和规则功能三个界面。 设备状态功能如下所示: 传感器监控功能如下所示: 规则功能如下所示: 3、机器学习训练模型云端搭建 第一步:建立项目工程 第二步:建立训练数据神经网络 第三步:建立测试数据神经网络基于NB-IoT的智慧路灯监控系统(PC应用开发)作为IoT云平台的数据交互PC客户端,对平台的数据进行展示,实现本地与远程终端的数据交互,进而展现出依赖云平台的应用使用的具体场景,进一步展现云品台的优势。 1、项目结构 整个使用常规的传统的三层架构,同时引入MVVM架构模式,属于混合型架构设计,将各个层次之间实现理论解耦,提高了系统各个层次之间的独立性和可拓展性。 结构说明如下: HandyC.HW:项目实际入口,表现层,实际用户操作逻辑的输入输出部分。 HandyC.HW.ViewModels:与表现层与之对应的视图实体类部分,对用户交互逻辑的主要实现处理模块,同时在该项目中进行相关数据实体和视图实体的相互转换工作。 HandyC.HW.Data:用于处理来自于IoT平台的数据源,为业务层提供需求的数据结果。 HandyC.HW.Service:项目的实际业务逻辑处理,组织数据层提供的数据。 HandyC.HW.Tools:项目整体结构中需要使用到的基础辅助类集合,包括网络请求相关类,缓存,数据序列化和反序列化,特殊数据格式处理等。 对应测试项目与之对应,前缀为Test.*,此处忽略 2、系统组织架构 系统组织架构分为两个大的功能模块,平台监管以及数据采集两个模块,平台监管主要是对设备实时动态进行监管,数据采集,处理来自IOT云平台的历史相关数据并展示。 3、使用技术 网络通信相关技术(数据接口请求)WPF(UI框架)MvvmLight(MVVM框架)依赖注入简单缓存LiveCharts(图标框架)HandyControl(WPF组件框架)非对称双向认证(Https)AutoMapper(DTO转换框架) 4、开发环境与工具 开发环境:Windows7 sp1、.Net Framework 4.7.2开发语言:C#开发工具:MicrosoftVisual Studio professional 2019(VS 2019) 5、功能介绍设备管理页面的主页面,红框区域内为设备统计,包含了对当前设备的设备类型、设备状态、设备的协议类型的相关统计信息,属于设备总体的一个统计信息。设备列表中展示的是当前的存在的设备,以卡片的方式展示出来,包括设备的名称、设备的型号、设备的编号等预览。 显示设备的详细信息。 设备的实时数据显示页面,能够动态实时请求道IoT平台上的设备下发的最近历史信息。 云平台联动主页中的卡片为一卡片一设备,点击设备卡片,可以对设备进行联动模式控制,可支持三种联动模式,终端联控模式、自动调光模式和分段定时模式。默认手动模式,可以通过手动直接下发指令到IoT平台,通过平台将命令通知对应的设备执行,点击控制按钮进行云平台挂载设备的开启和关闭。 用户可以通过点击切换至定时模式,设定时间后,将点击发送定时设备,等待设定的命令发送至IoT平台。 命令下发成功是接收到的反馈信息。 自动模式与手动模式的操作类似,用户通过开启和关闭实现对IoT平台上挂载的设备的执行模式的设定,关闭时,设备默认执行,为上一次的模式运行状态,开启时,变更为根据实际的自动条件进行自身状态的控制。 设备历史数据显示页面,主要功能为查询功能,用于显示从IoT平台获取到的当前设备对应的历史记录信息,可通过查询条件进行更加细致数据查找。 点击每条记录的操作列按钮,能够获取到该条记录的详细信息。 下图的页面为命令历史数据的主页面,默认显示第一个设备的相关历史数据,能够查询到多端给设备发送的相关命令指令历史信息。 通过点击每条记录末尾的数据明细,可以查看到当前命令记录的具体信息。 6、核心代码 PC端主要分为两个部分,一个是通过https请求双向认证获取到来自于IoT平台提供的相关Api接口的目标数据,将数据进行处理根据View的需求进行相关的ViewModel处理之后展示到页面中;一个是需要PC端与IoT平台上的挂载设备进行数据交互时,实现本地命令的发送,进而间接控制设备的数据响应。 鉴定权限代码至原文查看:基于NB-IoT的智慧路灯监控系统(PC应用开发)基于NB-IoT的智慧路灯监控系统(手机应用开发)通过与华为云平台进行数据对接及联动控制,为此开发智慧路灯APP控制系统。 1、系统总体描述 本系统共分为九个模块:系统导航、用户登录、扫码绑定、设备定位、设备状态、历史查询、设备控制、画像分析和系统设置。每个模块对应其各自的功能,通过设备的定位、设备的实时状态及设备控制能够全方位监控路灯的耗能量及使用情况。画像分析也可对某地方或某用户进行大数据AI分析得到监测数据,并且能够实时向用户推送用电情况,并为其用户进行合理的用电安排及方案。 2、使用技术 2.1、基础技术 系统总体使用java语言进行开发; 在界面设计及展示部分使用HTML搭配CSS技术使其界面美观大方; 框架设计使用MVP模式进行设计使其系统结构清晰明了; 数据对接使用HTTP和OkHttp3协议,大大降低数据处理难度;且提高了数据的完整性和实时性。 2.2、核心技术 登录界面使用视屏背景技术将登录界面进行高度美化; 在设备定位模块中使用第三方高德地图SDK进行开发; 在云平台对接时使用华为云平台相关模块接口进行开发; 使用Clendar相关类进行日期选择设计; 使用Zxing二维码扫描分析技术进行扫码分析; 使用Echart技术进行数据实时显示图表分析; 在画像分析模块使用AI大数据分析获取数据实例。 2.3技术亮点 对第三方技术的合理运用; 对MVP开发框架的组合设计; 对API接口的清晰掌握; 对各种相关工具类的开发及调用; 结合大数据AI分析进行功能设计。 3、开发软件 系统环境:Windows 10 开发环境:Android Studio 3.0,JDK 8.0 运行环境:Android 5.0级以上 接口测试软件:Postman 6.5版本 控制软件:Git 打包发布软件:Android Studio (Generate Signed APK) 软件签名:iot_project.jks 4、功能概述 4.1、系统导航 首次进入APP当进入导航界面,导航界面中介绍APP的Logo、简单描述、路灯模型、路灯功能分类及路灯运行方式。 4.2、用户登录 用户登录界面使用视屏作为页面背景,通过输入用户名及密码进行系统登录。系统的用户名及密码在系统后台统一进行注册。 4.3、扫码绑定 用户登录成功后将自动跳转至扫码界面,跳转界面后会对该移动设备进行权限访问,用户需要同意所有权限才能正常使用该系统。授权后进行二维码扫描。此时需要对路灯上的二维码进行扫码,通过扫码得到该路灯的设备信息,从而在主界面中可查看该路灯的其他信息。 4.4、设备定位 此模块中将对该扫描设备进行设备定位,观察其设备所在的具体位置,并能够查看当前地方的天气环境。此处的设计也是为后来的管理方便,对每一个路灯设备能够全方位的进行查看。 4.5、设备状态 此模块将对所在设备的所有信息进行实时查看,有电压、电流、功率、功率因子、总耗电量、光照度、路灯开光状态及路灯耗能所产生的二氧化碳量。 4.6、历史查询 此模块是对该路灯所有数据的历史查询,通过对历史数据的查询可分析出该设备在本周、本月及本年的所有用电量情况。这样就能够合理的对路灯用电量进行管理。 4.7、设备控制 此模块是对路灯的远程控制,共分为三个模式分别为:终端联控模式、分段定时模式及自动调光模式。三种模式分别对应三种不同的路灯控制,可远程也可自动,充分达到了用电量的控制。 4.8、画像分析 此模块涉及了大数据AI分析功能,将华为云机器学习服务分析的数据结果下发至该系统,系统对其数据进行图文的可视化展示,清晰的可以查看到城市区域日常用电情况及地方用电情况(由于数据量较少,所以设计的是本人七月份的个人用电画像)。 4.9、系统设置 系统设置功能共分为以下几点:系统设置、修改密码、关于我们、系统更新及退出登录。 5、核心代码 数据获取核心代码至原文查看:基于NB-IoT的智慧路灯监控系统(手机应用开发)
    来自:Hackaday Prize 2019时间:2019-08-13 diy制作
  • 智能报警路灯

    本文首发于DF创客社区,作者:云天原文链接:http://mc.dfrobot.com.cn/thread-296401-1-1.html【设计背景】 当在公园、郊区等偏僻区域或黑夜无人情景,发生突发事件,手机等通讯设备被抢、丢失或未携带等,需报警求救。在这种孤立无援情况下,我们急需报警求救设施。 根据以上需求,相关部分可在以上这种环境下设置智能报警路灯。【设计思路】 1、路灯配置智能终端(手机),利用人脸识别技术,采集人脸信息,后台记录(减少谎报),采集成功后,开启报警页面。 2、利用超声波检测到报警人,点亮路灯,并利用路灯发出求救信号,扩大求救范围。【设计草图】 设计草图【演示视频】 报警端演示 后台显示报警人【材料准备】首先根据设计思路,准备好制作智能报警路灯所需的材料,清单和说明如下表和下图所示。 【电路设计】 为了方便编写程序,先设计智能报警路灯的电路连接关系,电路原理图如下图所示。 【程序设计】# 程序流程图设计在写程序之前,先梳理一下思路,设计程序流程图,如下图所示。##硬件程序流程图 ##APP程序流程图 【Arduino Leonardo硬件代码】#include #include double mind_n_bs;char mind_s_str;const byte LedArray_BBlG[] = {//"S"字模B00111000,B01100100,B01100000,B00110000,B00011000,B00001100,B00100110,B00011100,};const byte LedArray_pFgv[] = {//"O"字模B00011000,B00100100,B01000010,B01000010,B01000010,B01000010,B00100100,B00011000};const byte LedArray_42Se[] ={//“S”字模B00111000,B01100100,B01100000,B00110000,B00011000,B00001100,B00100110,B00011100,};const byte LedArray_PPNP[] = {B01100110,B11111111,B10011001,B10000001,B11000011,B01100110,B00111100,B00011000};//“心型”图案DFRobot_LedControl max7219(5, 3, 4);//LED点阵(MAX7219),初始化DIN引脚为5,CS管脚为4,CLK管脚为3DFRobot_Ultrasonic ultraA0;//模拟超声波void SOS();void XianShi();void SOS()//12引脚上接电磁继电器,控制灯的开关,发出“SOS”莫尔代码{ digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(1500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(1500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(1500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100); digitalWrite(12, HIGH); delay(500); digitalWrite(12, LOW); delay(100);}void XianShi()//LED点阵显示内容{ max7219.show(LedArray_BBlG); delay(200); max7219.show(LedArray_pFgv); delay(200); max7219.show(LedArray_42Se); delay(200);}void setup() { Serial1.begin(9600);//主板使用Leonardo,所以蓝牙使用Serial1串口通讯 max7219.begin(); mind_n_bs = 0; ultraA0.begin(A0);//初始化模拟超声波,接A0引脚。}void loop() { if ((Serial1.available())) {//等待蓝牙接收数据 mind_s_str = Serial1.read(); if ((mind_s_str == 'G')) {//手机人脸验证成功,返回"G",利用灯同时发出报警求救信号SOS digitalWrite(13, HIGH); SOS(); } if ((mind_s_str == 'K')) { digitalWrite(13, LOW); mind_n_bs = 0; } } if (((ultraA0.getDistanceCm() < 50) && (mind_n_bs == 0))) {//超声波测试有人,向手机APP发送信息,并在LED点阵上显示关怀图案 mind_n_bs = 1; Serial.println("t"); max7219.show(LedArray_PPNP); } if(mind_n_bs == 0){//平时LED点阵显示“SOS”标识 XianShi(); }}APP设计 报警主控设备使用一部旧的VIVO手机,APP编写使用MIT APP Inventor2汉化版。【路灯APP】#首页#操控页#人脸识别成功后显示报警按钮#APP逻辑设计部分##屏幕初始化,完成连接蓝牙和使用注册百度人工智能获取的信息进行人脸识别连接##利用定时器,检测Arduino+超声波+蓝牙,发送过来的信息,以“t”,作为有人靠近的标识。如检测到,进入操作页面。 ##人脸拍照识别人脸检测成功,显示报警按钮 点击按钮,进行报警,并向Arduino发送标识“K",完成报警。 ##其中可进行语音操控,如拍照、拨打报警电话 【后台服务APP】 用来显示报警人的人脸及相关信息,并增加人脸识别功能,识别出报警人。#主页面,组件设计#逻辑代码设计##屏幕初始化,连接百度人脸识别。##点击”显示报警人信息“按钮##”上一个“”下一个“按钮,显示报警人。#人脸识别##点击”报警人验证“,可拍照,然后与记录的报警人进行比对##代码 制作过程#制作底座,主框架利用装修剩余木角料,使用热熔胶进行固定。 #安装台灯 将旧台灯内容电路进行改造,将台灯电路断开,引出两个线,将与电磁继电器连接,利用Arduino进行控制。并安装在主体最上端,路灯照明部分。 #安装电磁继电器 #安装LED点阵屏、超声波、Arduino主控板、扩展板、蓝牙模块 #安装充电宝 #安装手机 最终成品# 后续思考1、设想实现实时检测人脸,自动拍照2、使用其它设备代替手机,比如树梅派+摄像头+通信模块等
    来自:Hackaday Prize 2019时间:2019-08-15 diy制作
销量
0
查看
5064
参数名 参数值
发布于 2019 年 04 月 22日
  • OSUG:开源水下滑翔机——使用浮力发动机的多功能自动环保无人机

    OSUG:开源水下滑翔机——使用浮力发动机的多功能自动环保无人机

    2019-07-19 10:41:15

    低成本自主无人机取得了突破性进展,随着这种能力的成熟,各种爱好和商业应用也得到了发展。目前没有负担得

  • 硬核干货一文打尽,从技术流派到应用趋势

    硬核干货一文打尽,从技术流派到应用趋势

    2019-03-06 11:12:42

     中国信息通信研究院和中国人工智能产业发展联盟的人工智能发展白皮书(技术架构篇),从产业发展的角度,分析技术现状、问题以及趋势,盘点智能语音、语义理解、计算机视觉等相关应用。

  • 开源模式使得复杂性问题得到解决,也成为了 Linux 成功的核心要素

    开源模式使得复杂性问题得到解决,也成为了 Linux 成功的核心要素

    2018-09-04 09:49:45

    Linus Torvalds 与 VMware 首席开源官 Dirk Hohndel 进行了一次对话,两人聊到了包括量子计算、摩尔定律、Linux 的开发过程以及没有 Linus 指导的 Linux 的未来等话题。

  • Moore8直播课堂

    资源中心

    华为耳机降噪的秘密,带你领略喧嚣中的点点宁静!

    机电产品封装库合集,帮你省时省力

    使用Arduino构建彩色TFT显示屏的无线气象站

    tracer ??