基于单片机的楼宇防火报警器方案(原理图+源程序+演示视频+bom表+上位机APP助手)

  • 基于单片机的楼宇防火报警器方案(原理图+源程序+演示视频+bom表+上位机APP助手)
  • 基于单片机的楼宇防火报警器方案(原理图+源程序+演示视频+bom表+上位机APP助手)
  • 基于单片机的楼宇防火报警器方案(原理图+源程序+演示视频+bom表+上位机APP助手)
  • 基于单片机的楼宇防火报警器方案(原理图+源程序+演示视频+bom表+上位机APP助手)

基于单片机的楼宇防火报警器方案(原理图+源程序+演示视频+bom表+上位机APP助手)

基于单片机的楼宇防火报警器方案(原理图+源程序+演示视频+bom表+上位机APP助手)

基于单片机的楼宇防火报警器方案(原理图+源程序+演示视频+bom表+上位机APP助手)

基于单片机的楼宇防火报警器方案(原理图+源程序+演示视频+bom表+上位机APP助手)


基于单片机的楼宇防火报警器方案

?

1.熟悉楼宇防火报警器流程、控制要求,选择实施方案。 实现目标:利用单片机和无线通信技术设计的无线防火报警器。主机检测外界环境的温度和烟雾浓度,同时通过无线模块将检测到的信息传输给从机。从机接收到信息后会将温度显示在显示屏上,如果超限值则报警。

2.设计系统电气原理图电路。
3.完成I/O分配图。
4.编制汇编程序或C语言程序。

5.完成系统调试、仿真或实物调试。

注:由于演示视频过大,后台文件上传有限制,购买的亲们可以联系索取演示视频,谢谢!

电路相关文件

电路图文件
1.电路图.rar
描述:电路图
源代码
2.程序.rar
描述:源程序
教程
4.bom表和上位机APP蓝牙助手.rar
描述:.bom表和上位机APP蓝牙助手
分享到:
收藏 (1)
电子硬件助手小程序 电子硬件助手小程序

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

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

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

(版权归王哥所有)

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

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

换一批 more>>

大家都在看:

继续阅读

  • 注油机

    牙科专用手机注油机。时间显示、智能注油、智能吹风。多种选择,可以单个,也可以同时三个一起。
    来自:医疗电子时间:2019-08-27 diy制作
  • 基于51单片机的便携式室内空气质量与燃气检测装置的设计

    便携式空气检测装置功能说明 1.LCD1602显示屏,用来显示传感器测量数据; 2.MQ2传感器,模拟二氧化碳传感器,测量空气中二氧化碳浓度; 3.PM2.5传感器,检测空气中PM2.5的浓度; 4.DS18B20,检测温度的精确传感器,可以精确地检测出当前所处环境的温度; 5.蜂鸣器用于当温度,PM2.5,CO超标时报警; 6.风扇用于当温度,PM2.5,CO超标时报警; 7.彩色LED灯用于当温度,PM2.5,CO超标时报警; 8.按键1用于切屏显示; 9.按键2用于增加上限;按键3用于减小上限;
    来自:DIY创意产品时间:2019-08-27 单片机 51单片机 毕业设计 diy
  • 多媒体中控全套电路图

    多媒体中央控制器的基本功能:可以通过中央控制器进行计算机、笔记本、DVD、录像机、展台等媒体设备的切换;可以控制投影机的开关及信号切换;可以控制幕布的升降;可以控制音响设备音量大小;支持上、下课联动控制功能;具有投影机延时断电保护功能。
    来自:工业控制时间:2018-07-18 原理图 ,主控制板
  • Iot标签

    IoT 标 签源 起: 在我们小区门口,有一家不大的店~叫“福美家超市”。主打是卖菜,兼有副食品和小百货等。奇怪的是,旁边有几家类似功能的店,其他家多是冷冷清清,这一家却总是得排队付款。就算附近农村卖小菜的农民在附近围了一圈儿又一圈儿,似乎也没能冲淡这家店的生意! 今天,照例来到这家店里准备买菜,大家伙儿自觉地站了两排,向前推进得似火比平常慢了点。正在选菜中,老板娘不知对谁发了个话,“哎,大妈,您稍等会儿啊,今天缺两人没来呐”。今天小两口子一同协作:一个称重贴标签,另一个扫码收款(向多数老年人),年轻人常常是手机付款。时不时也有不想多等的年轻人离开店铺。 我的感觉是排队买菜的现象已经有几年了。有一次为关于他儿子学编程事聊了一会儿。他们每天3~4点就得起床,要赶往蔬菜集散中心采购,回到店里,还要不停地整理菜品,全家齐上阵,吃饭不定点,直到晚上23点接近24点才能睡觉。几乎天天如此,年年如此。所以老板的问题似乎也是我的问题,忽然自动激发了是不是可以利用最近学习人工智能技术,其中之一是机器学习,可以对各种菜品进行训练学习,达到一定次数后不难识别常见超市蔬菜瓜果等。由此制作一种能自动识别称重贴标的AI菜篮子。 这家店年轻的老板及老板娘怎么也不会想到,一位顾客会为他们店更高效地卖菜而想办法。哈哈,这就是创客吧。当然,小白的我对人工智能才刚刚接触,这个AI菜篮子当前仅存脑海里备档哟。 但是结合电子墨水屏制作未来超市的商品IoT标签并不难。 IoT标签: 一种在超市、便利店、药房、甚至员工胸牌等场景显示信息的电子类标签。随着人工智能时代的来临,将越来越多地替代传统纸质标签;每一个电子价签通过无线网络与商场计算机数据库或上云互连,实时、准确地显示不同区域商品最新的基本信息。IoT标签 VS 纸质标签:IoT标签纸质标签1、便利性:一次到位,仅几年后更换电池繁琐2、体验佳:改善顾客线上线下体验不一致,更可实物参照不同步3、节约成本:人力、时间、环保成本高,易出错4、易管理:随时更新,调整,云上操作不易出错,及时提供数据...... 目前制作IoT标签的最佳选择是电子墨水屏。什么是电子墨水屏?(参考:电子发烧友网~"传感器技术")电子墨水屏(E-link): 电子墨水屏技术最早可以追溯到 1996 年,它基于美国麻省理工学院媒体实验室(MIT Media Lab)的一项研究,利用电泳技术(EPD)实现显示,这类屏幕的显示效果十分接近传统纸张,因此也被成为“电子纸”。1997 年,麻省理工学院的教授 Joseph Jacobson 创立 E_Ink 公司,开始推动电子纸技术走向商业化,电子墨水技术成为电子纸的主流。 电子墨水与印刷使用的墨水很相似,都是用颜料所制,这也是为什么我们看到电子墨水屏和传统纸张显示效果相似的原因。电子墨水通常会制成薄膜,由大量微胶囊﹙microcapsules﹚组成,这些微胶囊只有人类头发的直径大小。微胶囊中的黑白小球是带不同电荷的色素颗粒,初始状态下,色素颗粒悬浮在微胶囊中,当施加一定方向的电场后,相应的色素颗粒被推到顶部,微胶囊就会显示不同的颜色,而不同颜色的微胶囊组成了各种文字和图案。电子纸显示屏是靠反射环境光来显示图案的,不需要背光,即使是在阳光底下,电子纸显示屏依然清晰可视,可视角度几乎达到了 180°。因此,电子纸显示屏非常适合阅读。 电子墨水屏基本结构如下图所示: ⒈上层;⒉透明电极层;⒊透明微胶囊;⒋带正电荷的白色颜料;⒌带负电荷的黑色颜料;⒍透明液体(油);⒎电极像素层;⒏基板;⒐光线;⒑白色;⒒黑色。电子墨水屏是由许多电子墨水组成,它是融合化学,物理和电子学的整体产生的一种新材料。电子墨水可以看成一个个胶囊的样子(如上图所示)。每一个胶囊(位置6)里面有液体电荷,其中正电荷染白色,负电荷染黑色。当在一侧(位置8)给予正负电压,带有电荷的液体就会被分别吸引和排斥。这样,每一个像素点就可以显示白色或者黑色了。因为电子墨水的刷新是不连续的,每一次刷新完成就可以保持现在的图形,即使拔掉电池也依旧保存,因为电子墨水具有双稳态效应(磁滞效应)。电子墨水屏的优点:1、省电(可用于低功耗场景)2、护眼(未来很可能替代纸质阅读)电子墨水屏当前的缺点:1、目前主要只有黑白产品,彩色有三色(黑白红)/(黑白黄)/4096色。2、不能快速响应一些动画类需求。3、彩色屏刷新过程中会闪屏。4、成本高。 微雪的柔性墨水屏祼屏(黑白):尺寸: 2.13 inch工作电压:3.3V/5V通信接口:SPI点距:0.229* 0.228分辨率:212*104显示颜色:黑、白灰度等级:2局部刷新 :0.3s全局刷新 :2s 注意事项(摘自微雪):1. 支持局刷的屏幕,注意使用的时候不能一直用局刷对屏幕进行刷新,需要在做几次局刷之后,对屏幕进行一次全刷清屏。否则会造成屏幕显示效果异常,无法修复。2. 三色的墨水屏,建议将屏幕刷白朝上存放,使用前,先上电做几次刷白操作。3. 注意屏幕不能长时间上电,在屏幕不刷新的时候,要将屏幕设置成睡眠模式,或者进行断电处理。否则屏幕长时间保持高电压状态,会损坏膜片,无法修复。4. 使用墨水屏的时候,建议刷新时间间隔至少是 180s, 并且至少每 24 小时做一次刷新,如果长期不使用墨水屏的话,要将墨水屏刷白存放。5. 屏幕进入睡眠模式之后,会忽略发送的图片数据,只有重新初始化才能正常刷新。6. 屏幕的 FPC 排线比较脆弱,注意使用的时候沿屏幕水平方向弯曲排线,不可以沿屏幕垂直方向弯曲排线。7. 墨水屏屏幕较为脆弱,注意尽量避免跌落,碰撞,用力按压。 DF~FireBeetle 三色电子墨水屏(黑白红):工作电压:3.3V数据总线:SPI颜色:黑白红三色屏幕尺寸:2.13 inch像素:212×104刷新时间:12~15s 背面(下角白色方块与微控制器上一致,是防呆防反插标志哟^_^): DF~FireBeetle 低功耗系列之一萤火虫 ESP32微控制器 (支持WiFi&Bluetooth):可以较方便地控制FireBeetle电子墨水屏。 DF为FireBeetle(三色)电子墨水屏提供的API列表:#include "DFRobot_IL0376F_SPI.h"DFRobot_IL0376F_SPI eink; //创建一个ePaper对象函数功能:设定字库和墨水屏片选引脚并初始化。void begin(const char cs_W21, const char cs_GT30, const char dc, busy);函数功能:清除屏幕为指定颜色。InkScreen_Error clear(uint8_t color);函数功能:显示图片(212*104),可以是红色、黑白、红白黑三色图片。void drawPicture(const unsigned char *pic_bw, const unsigned char *pic_red);函数功能:刷新屏幕显示。void flush(void);函数功能:显示字符串。void disString(uint8_t x, uint8_t y, char *ch, uint8_t color);函数功能:画点。InkScreen_Error drawPoint(const unsigned char x, const unsigned char y, const unsigned char color);函数功能:画线。InkScreen_Error drawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint8_t color);函数功能:画矩形框。InkScreen_Error drawRectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint8_t color)函数功能:画圆形边框或者填充圆形。InkScreen_Error drawFillRect(uint16_t x1, uint16_t y1, uint16_t width, uint16_t length, uint8_t color);参数1 (xc,yc): 圆心坐标 (xc∈(0,211),yc∈(0,103)。InkScreen_Error drawCircle(uint16_t xc, uint16_t yc, uint16_t r, uint16_t fill, uint8_t color);结合例程及上API对电子墨水屏~IoT货架标签进行界面布局:主要是在程序中对各种元素进行坐标定位、字号选择、颜色确定、图形绘制等。 测试电子墨水屏程序(Arduino): [C++] 纯文本查看 复制代码?010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172/*!* 08/19/2019测试电子墨水屏程序 * from file FigureDemo.ino* 分辨率:212*104*/#include "Arduino.h"#include "DFRobot_IL0376F_SPI.h"#define STOCK_PIN A2 // 这里可以利用环境光线传感器收集数据模拟商品“美福记”库存状态变化DFRobot_IL0376F_SPI epaper;#define EPAPER_CS D3#define Font_CS D6#define EPAPER_DC D8#define EPAPER_BUSY D7char foodName[]="";float price = 0.0;int stock_per = 100;void setup(void){Serial.begin(115200);//Select the corresponding pinsepaper.begin(EPAPER_CS, Font_CS, EPAPER_DC, EPAPER_BUSY);}void loop(void){epaper.fillScreen(WHITE);//Displays a string, black fontepaper.disString(1,5, 2,"食",BLACK);epaper.disString(1,45, 2,"品",BLACK);epaper.disString(0,83, 1,"FOOD",BLACK);//Let me draw 2 red dotLinesfor(uint8_t x=33,y=0; y<103; y+=2){epaper.drawPixel(x,y,RED);epaper.drawPixel(x+1,y,RED);} epaper.disString(35,1, 1,"品名:",BLACK);epaper.disString(35,18, 1,"Name",BLACK);epaper.disString(35,35, 1,"价格:",BLACK);epaper.disString(35,52, 1,"Price",BLACK);epaper.disString(35,69, 1,"库存:",BLACK);epaper.disString(35,86, 1,"Stock",BLACK);epaper.disString(78,1, 1,"美福记",RED);epaper.disString(78,30, 2,"29.8",RED);epaper.disString(140,45, 1,"¥/Kg",RED);epaper.disString(185,1, 1,"20%",RED);// Draw a down arrowepaper.fillRect(191,18, 12,40,RED);epaper.fillTriangle(184,50, 210,50, 197,70,RED);//Draw a black rectangle(x,y,l,r,c)epaper.drawRoundRect(75,75, 135,23,8,BLACK);epaper.drawRoundRect(76,76, 133,21,8,WHITE);epaper.drawRoundRect(77,77, 131,19,8,WHITE);stock_per =map(analogRead(A2),0,1023,0,100);epaper.fillRoundRect(78,78, 129*stock_per/100,17,7,RED);epaper.disString(185,1, 1,"20%",RED);//Refresh screen displayepaper.flush();delay(10000);}测试IoT程序(ARDUINO): [C++] 纯文本查看 复制代码?001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067068069070071072073074075076077078079080081082083084085086087088089090091092093094095096097098099100101102103104105106107108109110111112#include #include #include #include "DFRobot_Aliyun.h"#include "DFRobot_DHT11.h"#define DHT11_PIN D2 //定义传感器引脚,用于收集数据模拟库存数据/*配置WIFI名和密码*/const char * WIFI_SSID = "your ssid";const char * WIFI_PASSWORD = "your password";/*配置设备证书信息*/String ProductKey = "xxxxxxxxxx";String ClientId = "12345";String DeviceName = "STOCK";String DeviceSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxx";/*配置域名和端口号*/String ALIYUN_SERVER = "iot-as-mqtt.cn-shanghai.aliyuncs.com";uint16_t PORT = 1883;/*需要操作的产品标识符(温度和湿度两个标识符)*/String TempIdentifier = "xxxxxxx";String HumiIdentifier = "xxxxxxxx";/*需要上报和订阅的两个TOPIC*/const char * subTopic = "xxxxxxxxxxxxxxxxxxxxxxxxx/property/set";//****setconst char * pubTopic = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/property/post";//******postDFRobot_Aliyun myAliyun;WiFiClient espClient;PubSubClient client(espClient);DFRobot_DHT11 DHT;void connectWiFi(){Serial.print("Connecting to ");Serial.println(WIFI_SSID);WiFi.begin(WIFI_SSID,WIFI_PASSWORD);while(WiFi.status() != WL_CONNECTED){delay(500);Serial.print(".");}Serial.println();Serial.println("WiFi connected");Serial.print("IP Adderss: ");Serial.println(WiFi.localIP());}void callback(char * topic, byte * payload, unsigned int len){Serial.print("Recevice [");Serial.print(topic);Serial.print("] ");for (int i = 0; i < len; i++){Serial.print((char)payload[i]);[/i][i] }[/i][i] Serial.println();[/i][i]}[/i][i]void ConnectAliyun(){[/i][i] while(!client.connected()){[/i][i] Serial.print("Attempting MQTT connection...");[/i][i] /*根据自动计算的用户名和密码连接到Alinyun的设备,不需要更改*/[/i][i] if(client.connect(myAliyun.client_id,myAliyun.username,myAliyun.password)){[/i][i] Serial.println("connected");[/i][i] client.subscribe(subTopic);[/i][i] }else{[/i][i] Serial.print("failed, rc=");[/i][i] Serial.print(client.state());[/i][i] Serial.println(" try again in 5 seconds");[/i][i] delay(5000);[/i][i] }[/i][i] }[/i][i]}[/i][i]void setup(){[/i][i] Serial.begin(115200);[/i][i] /*连接WIFI*/[/i][i] connectWiFi();[/i][i] /*初始化Alinyun的配置,可自动计算用户名和密码*/[/i][i] myAliyun.init(ALIYUN_SERVER,ProductKey,ClientId,DeviceName,DeviceSecret);[/i][i] client.setServer(myAliyun.mqtt_server,PORT);[/i][i] /*设置回调函数,当收到订阅信息时会执行回调函数*/[/i][i] client.setCallback(callback);[/i][i] /*连接到Aliyun*/[/i][i] ConnectAliyun();[/i][i]}[/i][i]uint8_t tempTime = 0;[/i][i]void loop(){[/i][i] if(!client.connected()){[/i][i] ConnectAliyun();[/i][i] }[/i][i] /*一分钟上报两次温湿度(模拟福美记和福美佳两种商品的库存状态数据)信息*/[/i][i] if(tempTime > 60){[/i][i] tempTime = 0;[/i][i] DHT.read(DHT11_PIN);[/i][i] Serial.print("DHT.temperature=");[/i][i] Serial.println(DHT.temperature);[/i][i] Serial.print("DHT.humidity=");[/i][i] Serial.println(DHT.humidity);[/i][i] client.publish(pubTopic,("{\"id\":"+ClientId+",\"params\":{\""+TempIdentifier+"\":"+DHT.temperature+",\""+HumiIdentifier+"\":"+DHT.humidity+"},\"method\":\"thing.event.property.post\"}").c_str());[/i][i] }else{[/i][i] tempTime++;[/i][i] delay(500);[/i][i] }[/i][i] client.loop();[/i][i]}利用阿里云生成安卓APP:本应用采取 DHT11 温湿度传感器获取环境温度和湿度模拟商品库存状态,并将数据传输给手机 App 显示,从而实现远程实时监控库存的功能。应用目标:通过手机 App 实时监测超市商品库存情况。 所需元件:DHT11 温湿度传感器 x1FireBettle Board-ESP32 x1FireBettle Gravity 扩展板 x1DHT11x1智能手机 x1硬件连接:把 FireBettle Gravity 扩展板直插在 FireBettle Board-ESP32 主板上,再把 DHT11 温湿度模块接在扩展板的 D2 数字引脚上,确保电源引脚、接地引脚和信号引脚都连接正确。按以下我亲自成功的步骤进行即可:(或者参考官方教程)1.打开浏览器,输入网址 https://iot.aliyun.com,登录并进入物联网平台.2.创建一个名为“库存监测”的产品,如下图所示,若产品创建成功,会自动出现在产品列表中; 3. 为库存监测产品定义功能名分别为“美福记”和“美福佳”的属性,自定义产品标识符,美福记取值范围为0~100,美福佳为 0~100,如下图所示。功能添加完毕后,会自动出现在自定义功能栏下。 4.为库存监测产品添加一个名为 STOCK 的设备,如下图所示,设备添加完毕后,会自动出现在设备列表中。 5.将库存监测产品导入“我的智能云家庭管理”项目中,如下图所示: 6.创建移动应用开发APP:选中左侧导航栏的移动应用开发在右侧单击打开“新增可视化应用”,如下图所示: 7.点击自定义页面后的+号,编辑,将“自定义新增页 1”改为库存监测,用鼠标将可视化组建下的实时曲线控件拖动到中间的页面上,如下图所示: 8.选中其中一个实时曲线,点击数据->配置数据,在弹出的选项框里选择相应的选项,并点击确定。 9.修改样式,常常保存。 10.配置首页模块。这一步是为了设置一个导航栏,链接到上面设计的“库存监测”。选中[功能]首页模块->列表,如下图所示,选中新增页面入口,在弹出的“页面入口 1”下,完成相应信息的选择,将其链接到刚才设计的“库存监测“页面,如下图所示,点击确定完成配置后,别忘了点击保存。 11.安装包生成。在编辑页面,点击构建,选择 Andriod 构建或 iOS 发构建,如下图所示: 12.手机扫码,APP到手了! 13.我定义的APP~“IoT标签”界面: 以上测试程序合并为最终程序(ARDUINO): [C++] 纯文本查看 复制代码?001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067068069070071072073074075076077078079080081082083084085086087088089090091092093094095096097098099100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166#include "Arduino.h"#include #include #include #include "DFRobot_Aliyun.h"#include "DFRobot_DHT11.h"#include "DFRobot_IL0376F_SPI.h"/////////////////////////////////////////////DFRobot_IL0376F_SPI epaper;#define DHT11_PIN D2 //定义传感器引脚,用于收集数据模拟库存数据#define EPAPER_CS D3 //定义电子墨水屏相关#define Font_CS D6#define EPAPER_DC D8#define EPAPER_BUSY D7///////////////////////////////////////////////*配置WIFI名和密码*/const char * WIFI_SSID = "XXXXXXX";const char * WIFI_PASSWORD = "XXXXXXXXXX";/*配置设备证书信息*/String ProductKey = "XXXXXXXXXXX";String ClientId = "12345";String DeviceName = "STOCK";String DeviceSecret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";/*配置域名和端口号*/String ALIYUN_SERVER = "iot-as-mqtt.cn-shanghai.aliyuncs.com";uint16_t PORT = 1883;/*需要操作的产品标识符(温度和湿度两个标识符)*/String TempIdentifier = "meifuji";String HumiIdentifier = "meifujia";/*需要上报和订阅的两个TOPIC*/const char * subTopic = "/sys/XXXXXXXXXXX/STOCK/thing/service/property/set";//****setconst char * pubTopic = "/sys/XXXXXXXXXXX/STOCK/thing/event/property/post";//******postDFRobot_Aliyun myAliyun;WiFiClient espClient;PubSubClient client(espClient);DFRobot_DHT11 DHT;///////////////////////////////////////////////void connectWiFi(){Serial.print("Connecting to ");Serial.println(WIFI_SSID);WiFi.begin(WIFI_SSID,WIFI_PASSWORD);while(WiFi.status() != WL_CONNECTED){delay(500);Serial.print(".");}Serial.println();Serial.println("WiFi connected");Serial.print("IP Adderss: ");Serial.println(WiFi.localIP());}///////////////////////////////////////////////void callback(char * topic, byte * payload, unsigned int len){Serial.print("Recevice [");Serial.print(topic);Serial.print("] ");for (int i = 0; i < len; i++){Serial.print((char)payload[i]);[/i]}Serial.println();}///////////////////////////////////////////////void ConnectAliyun(){while(!client.connected()){Serial.print("Attempting MQTT connection...");/*根据自动计算的用户名和密码连接到Alinyun的设备,不需要更改*/if(client.connect(myAliyun.client_id,myAliyun.username,myAliyun.password)){Serial.println("connected");client.subscribe(subTopic);}else{Serial.print("failed, rc=");Serial.print(client.state());Serial.println(" try again in 5 seconds");delay(5000);}}}///////////////////////////////////////////////////void setup(){Serial.begin(115200);//Select the corresponding pinsepaper.begin(EPAPER_CS, Font_CS, EPAPER_DC, EPAPER_BUSY); /*连接WIFI*/connectWiFi();/*初始化Alinyun的配置,可自动计算用户名和密码*/myAliyun.init(ALIYUN_SERVER,ProductKey,ClientId,DeviceName,DeviceSecret);client.setServer(myAliyun.mqtt_server,PORT);/*设置回调函数,当收到订阅信息时会执行回调函数*/client.setCallback(callback);/*连接到Aliyun*/ConnectAliyun();}//////////////////////////////////////////////////uint8_t tempTime = 0;uint8_t stock_per = 100;void loop(){if(!client.connected()){ConnectAliyun();}/*上报温湿度(模拟福美记和福美佳两种商品的库存状态数据)信息*/DHT.read(DHT11_PIN);Serial.print("DHT.temperature= ");Serial.println(DHT.temperature);Serial.print("DHT.humidity= ");Serial.println(DHT.humidity);client.publish(pubTopic,("{\"id\":"+ClientId+",\"params\":{\""+TempIdentifier+"\":"+DHT.temperature+",\""+HumiIdentifier+"\":"+DHT.humidity+"},\"method\":\"thing.event.property.post\"}").c_str());client.loop();/*借用DH11传感器的温度数据显示福美记商品的库存状态信息*/stock_per = DHT.temperature;epaper.fillScreen(WHITE);//Displays a string, black fontepaper.disString(1,5, 2,"食",BLACK);epaper.disString(1,45, 2,"品",BLACK);epaper.disString(0,83, 1,"FOOD",BLACK);//Let me draw 2 red dotLinesfor(uint8_t x=33,y=0; y<103; y+=2){epaper.drawPixel(x,y,RED);epaper.drawPixel(x+1,y,RED);} epaper.disString(35,1, 1,"品名:",BLACK);epaper.disString(35,18, 1,"Name",BLACK);epaper.disString(35,35, 1,"价格:",BLACK);epaper.disString(35,52, 1,"Price",BLACK);epaper.disString(35,69, 1,"库存:",BLACK);epaper.disString(35,86, 1,"Stock",BLACK);epaper.disString(78,1, 1,"美福记",RED);epaper.disString(78,30, 2,"29.8",RED);epaper.disString(140,45, 1,"¥/Kg",RED);epaper.disString(185,1, 1,"20%",RED);// Draw a down arrowepaper.fillRect(191,18, 12,40,RED);epaper.fillTriangle(184,50, 210,50, 197,70,RED);//Draw a black rectangle(x,y,l,r,c)epaper.drawRoundRect(75,75, 135,23,8,BLACK);epaper.drawRoundRect(76,76, 133,21,8,WHITE);epaper.drawRoundRect(77,77, 131,19,8,WHITE);epaper.fillRoundRect(78,78, 129*stock_per/100,17,7,RED);epaper.disString(185,1, 1,"20%",RED);//Refresh screen displayepaper.flush(); delay(12000);}运行代码串口显示温度(库存)28: 再看电子墨水屏显示库存(指红色部分约28%):
    来自:Hackaday Prize 2019时间:2019-08-22 diy制作
  • 球形HUB 11口HUB USB中继器 科幻 AD版本 附PCB

    USB中继器 11口球形的USB中继器
    来自:DIY创意产品时间:2019-08-21 diy制作 usb hub
销量
0
查看
4368
参数名 参数值
发布于 2019 年 04 月 22日
  • HiFi放大器电路设计

    HiFi放大器电路设计

    2019-09-06 08:15:32

    现代电子技术应用中电子管的使用虽然已经较少,但由于电子管有晶体管不可替代的一些优越特性,所以在部分领

  • 警车警音发生器工作原理是什么?电路如何设计?

    警车警音发生器工作原理是什么?电路如何设计?

    2019-09-05 10:50:24

    警车警音发生器电路其实很简单,本电路图工作性能稳定可靠,工作电压 6V-12V,适合在汽车、摩托车上

  • 告别黑暗,常在线的节能LED灯电路方案设计分析

    告别黑暗,常在线的节能LED灯电路方案设计分析

    2019-09-04 12:47:11

    本设计采用 12V 蓄电池供电,可点亮节能灯,在无市电或停电的场合非常实用。 电路工作原理如下

  • Moore8直播课堂

    资源中心

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

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

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

    tracer ??