z3512641347

  • 2019-07-22
  • 发表了主题帖: 机智云小程序启蒙:WebSocket网页控制 

    机智云小程序启蒙:WebSocket网页控制    机智云Web版的JS远程控制设备,是调用了机智云开放的Open API和WebSocket API来实现的。这个是设计小程序最好的基础,也可以使无安卓设备的用户用网页远程控制设备。 其中,Open API用到的接口有匿名登录用户、绑定设备和获取绑定设备列表。而WebSocket API上的用户登陆、设备上线下线通知、浏览器与云端的数据交互(数据透传)、心跳和非法消息通知。   具体的流程图如下: [ 一、准备工作] 获取需要调用OPEN API匿名登录用户和绑定设备 1.获取phone_id phone_id 可以是手机的唯一识别码,简单来说就是自己的注册名,自己随意取,支持英文大小写、数字、特殊符号,中文格式我没测试过。 2.创建用户 http://swagger.gizwits.com/doc/index/openapi_apps#/用户管理/post_app_users 2.1.填写appid 2.2.填写body 2.3.登录匿名用户,获取token 3.绑定设备 POST请求链接: http://swagger.gizwits.com/doc/index/openapi_apps#/绑定管理/post_app_bind_mac 3.1.填写appid 3.2.填写刚才自己命名的iphone_id登录回调的token 3.3.填写Timestamp、Signature和body 时间戳计算链接 tool.chinaz.com/Tools/unixtime.aspx MD5计算链接 tool.oschina.net/encrypt?type=2 如下图: [ 二、网页控制界面] 1.websocket API封装起来的sdk 链接如下: github.com/gizwits/gizwits-wechat-js-sdk 2.运行index.html 3.Websocket网页控制界面 下面使用的参数有: 参数 说明 数值 apiHost机智云OpenApi域名api.gizwits.com commType标准数据点协议格式attrs_v4 wechatOpenId微信用户OpenID(就是手机的iPhone_id)String gizwitsAppId机智云平台应用标识String 核心代码: [ 三、补充]返回搜狐,查看更多 下载的文件包是我精心改良的网页版,机智云官网有原版:https://github.com/gizwits/gizwits-wechat-js-sdk 本次测试是用了虚拟设备,mac为“virtual:site” 重点:经过本人测试,网页版绑定实际设备,除了第一部安卓手机app绑定设备,获得主权限,不能立马分享给其他用户,需要先网页版自动绑定,然后才可以分享给其他有安卓手机app的用户,这就是app与网页版的用户绑定的顺序 不一样 源码:http://www.demodashi.com/demo/15679.html

  • 2019-06-13
  • 发表了主题帖: 基于机智云平台和ESP8266开发智能灯

    智能灯,是一个简单常见的智能产品,硬件电路简单,程序本身也不复杂;下面我们使用esp8266开发板和机智云云端,实现如何将一个传统的灯泡,改造成可以远程控制开关的智能灯。   本案例原理简单、制作成本低,适合所有具备嵌入式基础的开发者 [ 1、准备工作] 1、准备工作 硬件: (1)esp8266开发板 (2)usb线 软件: (1)esp8266开发环境 eclipse IDE (2)Vmwave 虚拟机 linux [ 2、开始开发] 2.1 注册开发者账号 机智云开发者账号,用于产品接入、设备管理、OTA服务、MCU开发等的功能使用。 注册链接:http://dev.gizwits.com/zh-cn/developer/ 2.2新建产品 注册完成后,登陆至机智云开发者中心后台后,点击开发者中心后台右上角的“创建新产品”菜单,在跳转页面新建一个名为“LED灯”的产品,选择“Wi-Fi/移动网络方案”方式接入,并完成产品创建。如下图: 2.3 新建数据点 本次的项目“LED灯”,它需要实现的功能是远程开灯和关灯,那我们只需在云端建立一个“布尔值”的数据点即可完成这件事,如下图: 添加数据点完成之后,点击“应用”,即可完成整个产品的数据点的新建工作。 2.4 云端生成代码 如图,左边菜单栏选择MCU开发,需要填写的Product Secret看下面 如图,左边菜单栏选择基本信息,点击显示完整密钥就行了 下载代码包 2.5 修改代码 在如下目录导入rgb的.c和.h文件 在主函数下初始化rgb灯 设置回调函数 smartconfig 按键配网,长按和短按RGB颜色反馈 修改app/Gizwits/gizwits_product.c 下的 gizwitsEventProcess 在之前设置的数据点(EVENT_)对应的case下添加代码 代码修改就完成了 还有一些细节如声明头文件就不发出来了,各位自行添加 因为电脑使用的x86编译器生成的机器码是无法在esp8266上运行的,需要交叉编译工具链编译,所以要在虚拟机LINUX系统上进行 具体操作参考机智云的开发平台搭建,这里就不再赘述 http://docs.gizwits.com/zh-cn/deviceDev/WiFiSOC/GoKit3S%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91.html#GoKit3-S-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87 注意事项: 要使当前编译的环境变量生效,执行source /etc/environment,这样在当前命令行终端下该编辑的环境变量有效,换个命令行终端就无效了!当然更好的方式就是重启系统了 检查编译器 1、cd ~ 2、执行echo $PATH,查看当前环境变量,是否已经存在/opt/xtensa-lx106-elf/bin。 3、在命令行终端执行xtensa-lx106-elf-gcc -v,如可看到版本号,表示当前交叉编译器安装成功 如图表示编译完成 2.7 烧写固件 下载烧写软件 https://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.6.4.rar esp_init_data_default.bin 0x3fc000 blank.bin 0x3fe000 boot_v1.6.bin 0x00000 user1.4096.new.6.bin 0x01000 开发板进入烧录方式 如图,开关拨到下载位置,开发板关闭 点击烧录软件的开始按钮后,给开发板上电 烧录完毕后记得将开关拨回运行 bin 文件的烧录地址看下面 2.8设备开始连接云下载配网APP 到这个网址去下载app用来给esp8266配网,ios还是安卓看个人手机 https://download.gizwits.com/zh-cn/p/98/99 登陆开发者账号 软件需要登陆的,就先前创建的账号 设备配网 如下面几个图操作 开发板调至待连接状态:长按smartconfig键,直到rgb灯变绿 设备已连接 远程控制LED灯 至此,实现了手机远程控制LED灯 刚开始会遇到各种各样的问题 比如手机连不上开发板,检查rgb灯是否变绿,家里wifi是否正常,注意:5G wifi是无法连接上esp8266的 还有ununtu修改了环境变量后重启显示空白桌面的情况,要重新安装gnome 等等等等。。 加油,共勉吧    

  • 2019-05-28
  • 发表了主题帖: 基于机智云的懒人声控灯

    这个灯怎么来的,源于一句话:“我有一个大胆的想法!!!”,应该是这样,然后就有了这个灯。差不多花了20天的时间,也没有20天,就是偶尔花点时间弄一下。先说下具体功能:离线按钮控制开关远程APP控制开关声控控制开关胶粘在了懒人支架上 前方高能预警!注意!这不是演习!制作过程如下:[ Step1 材料准备]1.1 主控:Arduino Pro mini以及FTD1232串口下载器1.2 通信:正点原子ESP8266 WIFI模块1.3 声控:声音检测模块1.4 光源:5W 白灯10颗灯珠,5V供电1.5 供电:DC 5V-2A 适配器1.6 支架:懒人手机支架(后续改装用)1.7 工具:电烙铁,热熔胶,钩刀,1.8 模型:亚克力板20x30cm,厚度2mm1.9 额外:1路继电器,轻触开关,自锁开关,洞洞板,火牛电源头,散热硅脂、铝制散热块各一个[ Step2 固件烧录]2.1 固件烧写机智云烧录GAgent固件方法参考:http://club.gizwits.com/forum.php?mod=viewthread&tid=3551&highlight=82662.2 主控烧录2.2.1 在机智云中添加两个数据点,LED_Switch,Sound_Switch,布尔类型,可写,将下载的代码文件夹Gizwits放入Arduino编程器文件目录libraries下。如果开发流程不清楚可以详见官方开发流程!附上地址:dev.gizwits.com2.2.2 下载ProtoThreads多线程的库,同上放入libraries。修改Gizwits文件夹下的Gizwits.h头文件,打开头文件,将公有成员函数void process(void);改为bool process(void);同样,在Gizwits.cpp中将函数修改为bool类型,还需对代码修改,如下:http://5b0988e595225.cdn.sohucs.com/images/20190528/9f4e64e422194c6e8b763ef5e08ee5f3.png解释一下为什么,在我的代码中有一行:PT_WAIT_UNTIL(pt,myGizwits.process());这个函数的第二个参数是布尔类型的参数,所以需要修改Gizwits的源代码,当串口无数据是该线程阻塞的,当串口接收到数据时,线程运行,这样可以节省CPU查询if语句的资源。2.3总体代码移植networkConfig中的部分代码,按键1的代码去掉(基本用不到),修改按键2为D4,方便随时都配置网络。声音传感器使用中断触发的方式,连接在D3(外部中断1),使用计算时差的方式过滤掉一些杂音或避免多次重复触发开关。由于单片机的IO提供电流太小,所以LED灯通过继电器控制,继电器低电平驱动,连接在D5。附上代码:http://5b0988e595225.cdn.sohucs.com/images/20190528/4166cf7d8fa44bf593891f46fb55b227.pnghttp://5b0988e595225.cdn.sohucs.com/images/20190528/3f0e89f811664ee9b3af9f3c81053111.pnghttp://5b0988e595225.cdn.sohucs.com/images/20190528/053b39b3cba246ba8bf4abe63ab0cb7d.pnghttp://5b0988e595225.cdn.sohucs.com/images/20190528/cbbc498ddfba4b589a54c72410512226.pnghttp://5b0988e595225.cdn.sohucs.com/images/20190528/323a0dac6ea14e1d80c98920c51012a7.pnghttp://5b0988e595225.cdn.sohucs.com/images/20190528/ffffdb1ad4a44234a3eab2697de0f691.png烧录时由于Pro mini没有自带串口,所以要用FTD1232串口模块下载,若用其它的开发板可以不用FTD1232。[ Step3 模型设计]3.1 灯的改造这是买来时的灯:http://5b0988e595225.cdn.sohucs.com/images/20190528/ddc506d031474b1c8bf4930d3c670606.jpeg拆了后如图:http://5b0988e595225.cdn.sohucs.com/images/20190528/6bf8a0ef7c2c4908952c89c096a9036b.jpeg这样,把固定灯的环壳用钩刀裁剪下来http://5b0988e595225.cdn.sohucs.com/images/20190528/d5718132e3dd46dd9d3ce56ad8100bee.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190528/2ede1f9b5ab04615b856b6874b9a7601.jpeg在LED灯板上用钻孔机(这个东西实验实有)钻两个孔,涂上硅脂,固定在散热块上http://5b0988e595225.cdn.sohucs.com/images/20190528/520dfcfc17f548e2b675544ee1dc5347.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190528/8ac373db38e240eaa0a2fad0f5124175.jpeg最后,当当当~~~,拼装起来http://5b0988e595225.cdn.sohucs.com/images/20190528/35237a34ac1f4ace87082ba6cb78b12b.jpeg3.2 外壳设计由于灯的最大直径为60mm,所以四面的长方形块大小为60x73mm,顶部的方形块大小为60x60mm,都用钩刀裁剪就可以了。3.3 顶部电源设计如图想办法挖槽吧,用钻孔机+钩刀,是的,楼主我只有这些工具。http://5b0988e595225.cdn.sohucs.com/images/20190528/9d48b77bdb9d4fddb7b17728b3dedbe2.jpeg然后把开关,按钮等东西用热熔胶粘上去http://5b0988e595225.cdn.sohucs.com/images/20190528/0ca877b3ecee4a0e94c6d300c2597110.jpeg[ Step4 安装模型]先用热熔胶粘两个侧面,然后固定LED灯。再把元器件也粘进去http://5b0988e595225.cdn.sohucs.com/images/20190528/8c98d61c0c47489aadfbb1945078e121.jpeg接下来把其它两块也粘上去,这样大体就差不多了http://5b0988e595225.cdn.sohucs.com/images/20190528/2c48ca4842e445f6b03eee45fa82a8a1.jpeg以上步骤在做的时候边粘边连线的!最后,盖上顶部的盖子。http://5b0988e595225.cdn.sohucs.com/images/20190528/90d792576feb4081a31691cad6c1ee1a.jpeg呐~~~酱紫的~~~http://5b0988e595225.cdn.sohucs.com/images/20190528/9c6c383636e9449abb685f007ced2dc8.jpeg现在轮到懒人支架上场表演了,先把脚跺了再说,如下图http://5b0988e595225.cdn.sohucs.com/images/20190528/3711584b77d943b0bcbef464444ff9de.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190528/19ad8baf136e465aa163925c0748dfaa.jpeg再把脚粘在灯的顶部http://5b0988e595225.cdn.sohucs.com/images/20190528/e12d1f8f933c453ea5d52e1cd2328eac.jpeg[ Step5 装饰灯具]以前做了个大别野,剩了点贴纸,就给敷上去了,字不重要,看下图http://5b0988e595225.cdn.sohucs.com/images/20190528/ec6b31afce924d489bc0dcd2b1f73d9f.jpeg[ 个人感悟]说一下感悟吧:用心做好一个灯不只是电科的专业与执着更是使命用实在的原料佐以专业独运的焊接工艺所融入的不只是优美代码还有与之相得益彰的模型让人陶醉,更令人沉迷的电科精神打包,懒人声控致瞎灯以亚克力熔制的躯壳融入困、懒、惰、倦之气让每一次起床开关灯的想法万念俱灰声控也更为庸人自扰懒得到豆腐渣工艺更享受到无比诚意——修改于匠汤海鲜面[ 项目演示]项目演示视频地址http://v.youku.com/v_show/id_XMzA4OTQzMzcwOA==.html题外话:本来想做花样七彩+白色LED灯的(WS2812B RGB七彩转圈圈的,很漂亮,美滋滋),后来发现驱动RGB灯需要占用极大的CPU使用率,又由于Arduino 串口库不能中断收发数据(即实时性低) 影响用户体验,就没做了。http://5b0988e595225.cdn.sohucs.com/images/20190528/a9c4f9f47148449584d6df7190fdf370.jpeg楼主我走过一些弯路,烧过一些芯片,这是取经之路必定会发生的事情,这是我完美的一面,为各位网友踮脚啦项目代码&ProtoThreads库源码

  • 2019-05-14
  • 发表了主题帖: 基于STM32和机智云IoT云服务平台的智能花盆

    本案例为机智云硬件开发平台入门级基础应用开发实例,开发者通过使用机智云自助开发平台(机智云IoT云服务)、STM32及相关模块,实现了对多肉植物生长状态、土壤温湿度远程监测和自动浇水等功能,本案例适合所有具备嵌入式基础的开发者,尤其适合准备进入IoT的从业者、高校相关专业学生参考学习。 百度云盘链接: https://pan.baidu.com/s/1U3tctyEljSVLrVXiJ5ElzA提取码: pmw6 一、前言  有时候会听到朋友难过的说“我养的多肉又掉叶子了...” 是不是太久没浇水啦?  “假期有谁家在学校附件的帮我照顾下盆栽..” 真不好意思麻烦你了。  你是否也经历过这样的烦恼?反正我都经历过...  作为理科生当然是选择自己动手做一个啦~ 二、总体设计  首先,我们期望的功能有:  1.实现温度,土壤湿度等数据的在线监控2.当土壤湿度低于一定值时自动浇水3.在线控制浇水   总体设计如下:https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115114309763-722174008.jpg   我们面临的第一个问题是平台的选择,我尝试了几个开发平台后最终选择的是机智云,它提供调试APP无须我们另外开发。https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115110845071-207129051.png 三、硬件准备https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115131312418-411516831.bmp https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115144128096-747564376.png 四、接入机智云首先我们要贼机智云的开发者中心注册一个账号,登陆以后创建一个新产品https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115145539588-1743212438.pnghttps://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115145622356-1955321190.png 接着创建数据点,下面是我创建的数据点,光照强度后来没加上https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115145912810-321236146.png 完成以后我们可以使用虚拟设备调试下载机智云调试APPhttps://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115150256413-1637314190.png 下载以后我们在个人项目中点开虚拟设备调试https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115150822932-781440823.png 打开APP,准备扫码查看我们的数据点https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115151425863-934727442.gif 感觉没有问题我们就进行下一步固件烧录机智云官方固件可在下载中心中找到https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115152053876-527974797.png解压后发现其含有以下文件,这里建议使用四合一的固件,烧录方便,至于烧录工具我们选择乐鑫原厂固件烧写工具https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115152333441-1242890311.pnghttps://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115152958172-1970549489.png 设备连接(红圈内的是需要注意的连接)https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115153618924-644658917.png 完成以后直接用USB转TTL插入电脑烧录固件即可,开始烧录的时候它会要求你给WIFI模块复位,这时我们只需要使RST接以下低电平触发即可。 那么如何验证我们的WIFI模块烧录以后是正常可用的呢?机智云提供了串口调试助手可实现虚拟MCU调试https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115154040877-693896959.png 同样WIFI模块接着USB转TTL插入电脑这里需要注意的是你的RST引脚和使能固件烧录的引脚必须是无效的。然后按下图顺序做好设置https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115154451592-1727528426.png 1.AirLink为机智云的一键配置模式手机连接路由器(我用360随身WIFI充当无线路由)随后打开机智云APP添加设备,选择一键配置,选择模组。https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115155730903-1920013917.gif 随后在串口调试助手中点击初始化,AirLink使模块进入一键配置模式。接着静待连接成功。有时候链接超时不稳定可以再试一次。 2.Softap为热点模式热点模式即让WIFI模块生成热点。烧写了GAgent固件的WiFI模块配置为AP模式时,其WIFI名为”XPG-GAgent-xxxx”,其中”xxxx”为Wi-Fi模块的物理地址后四位,初始密码为”123456789。手机链接热点后使用热点配置添加设备,其余操作同上。 五、代码解析完成至此,我们仅仅需要完成MCU的开发即可,下面讲讲机智云模板代码的修改机智云官方推荐的编程软件是STM32Cube+KeilSTM32Cube可以轻松完成MCU的初始化的修改keil则提供了编译烧录环境 首先我们在机智云的个人项目中选择MCU开发,等待模板代码生成 https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115160835574-674973238.png 模板代码内含以下文件,作为使用者我们无需全部关注https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115162012442-1651412235.png首先我们打开STM32F103C8x.ioc添加外设初始化,接着重新生成代码https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115162541744-600641633.pngmain.c按键函数包括初始化,重启,启动AirLink模式和启动Softap模式https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115162918847-1049153691.gif 主函数内,先是完成了各种初始化。接着是我自己添加的一段模式配置,这样就可以不用通过按键配置了再往下就是再while循环内不断完成数据采集和数据的上报https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115163202570-1744605268.gif 下面我们跟踪以下数据采集的函数,只要数据赋值到currentDataPoint这个结构体变量中即可https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115163800214-1859617548.gif由于我们定义的产品是定时上传数据的,数据上报函数我们可以不用细致了解 由此我们完成了设备数据采集---->服务器----->客户端那么我们的手机如何控制设备呢?这要说起gizwits_product.c的另一个函数gizwitsEventProcess我们在这里添加接收到水泵开关事件的处理以及自动灌溉事件处理https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115164906211-1214676207.pnghttps://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115165123408-1935960986.png至此基本完成为了提高连接机智云的成功率建议在gizwits_protocol.h修改重连次数和超时时间https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115165613957-722039635.png 六、测试https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115170842565-1334108962.gif 为啥我把它焊接成这个样子呢,因为我本来打算给他做一个外壳的...然后把它放到懒人花盆上https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115173424711-1779504025.gif可是这东西打印需要12小时,也就一直没行动...后来我又想了一个方法,用3个以下形状的盒子像积木一样叠起来,底下的盒子放水,中间放设备,最上面种植物https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115181526301-694447170.gif同样也没有3D打印 APP演示最底下出现的是水位警报 https://img2018.cnblogs.com/blog/1481275/201811/1481275-20181115165925683-72097543.gif

  • 2019-05-06
  • 发表了主题帖: 基于STM32的智能物联网寝室

    [ 本文概述]本案例是参加电子设计比赛的作品,主要实现了非特征语音识别控制,扬声器播放,物联网监控与控制,语音控制等功能。文末附有演示视频和相关代码下载地址。 [ 硬件准备]项目用到的模块如下http://5b0988e595225.cdn.sohucs.com/images/20190505/5529e5719ed4422ea5f8a3ef478e3f5f.jpeg因为模块较多,而单片机的串口等和处理速度有限,为了提高处理速度,减轻单块单片机的负担,所以项目使用了两块单片机,称为STM32设备1、STM32设备2,电路图就不画了,我用Visio画一个简明图给大家吧。OLED是用的正点原子的OLED屏,所以用的引脚比较多。http://5b0988e595225.cdn.sohucs.com/images/20190505/2cf994ff45b94aa8b91e89eeec01d6b9.jpeg[ 软件准备]测试APP:机智云Demo APP,可以在机智云开发者中心下载,或者是在应用商店搜索“机智云”下载。[ 总体说明]实现我把项目划分为了三大块,分别是智能门禁部分、健康监测部分、娱乐部分,在控制灯光和风扇方面使用了24V的电压代替220V电压做展示。[ (1)智能门禁系统 ]为了叙述方便,我将开锁分为一级、二级,一级开锁就是转动门把手就可以开锁,二级开锁是钥匙要旋转两到三圈或者门内旋转门扣两到三圈才能开锁。家中的防盗门在外面是没有把手的,开门只能使用钥匙,即使你只是短暂出去也不得不再用钥匙开锁,或者出去的时候把门留一条缝,这样就容易有不法分子溜进室内盗窃或者被走廊的风关掉,然后被锁在外面。只属于一级的开关锁,因为关闭以后锁芯并没有动,从门内转动门把手就可以开门。只有在你要出门的时候或者晚上睡觉的时候才会用钥匙锁门或者门扣反锁,这属于二级开锁,下图为智能门禁系统路线图http://5b0988e595225.cdn.sohucs.com/images/20190505/c331d19d51b748dfbced39449abcf4bc.jpeg本智能门禁系统采用模块功能与作用如下:STM32F103ZET6:基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核,作为本项目的微处理器。LD3320语音识别模块:具有非特征语音识别功能,不需要语音训练,再本系统中负责识别语音命令并将指令通过UART发送给STM32微处理器。RCC522 RFID模块:采用射频识别技术,通过刷ID卡确认身份开门,主要用于一级开锁。AS608指纹识别模块:可以录入指纹,在确认身份正确后发送确认指令给微处理器开门,主要用于二级开锁。步进电机:可以任意指定角度旋转,控制门扣在门内进行二级开锁与关锁。SG-90舵机:有限角度旋转,控制门把手在门内一级开锁,不负责关锁,需要自己闭门进行一级关锁。ESP8266 WIFI模块:负责与机智云通信,将APP命令通过云端返回微处理器,实现APP二级开锁与关锁,一级开锁。 [ (2)健康监测系统 ]技术路线如下图http://5b0988e595225.cdn.sohucs.com/images/20190505/77d0337a701f45278873620ce4d9b918.jpeg本健康监测系统采用模块功能与作用如下:STM32F103ZET6:本项目的微处理器。DHT11温湿度模块:监测寝室内的温湿度,并上传给APP显示。在偏离正常值时语音提示开关窗,开关微型130电机风扇。光照传感器:监测寝室内的光照,并上传给APP显示。偏离正常值时语音提示开关窗帘。MQ-2烟雾传感器:监测寝室内空气质量,并上传给APP显示。空气质量差时提醒开门开窗。HC-SR04超声波模块:用来测量身高,并上传给APP显示。与体重一起计算得出体型是否正常。MAX30100心率血氧模块:测量心率与血氧,并上传给APP显示。 [ (3)娱乐系统 ]技术路线如下图http://5b0988e595225.cdn.sohucs.com/images/20190505/9e1b6b09956f493bb4454f11666c5b8e.jpeg本娱乐系统采用模块功能与作用如下:LD3320语音识别模块:具有非特征语音识别功能,不需要语音训练,再本系统中负责识别语音命令并将指令通过UART发送给STM32微处理器。JQ8400FL-10P语音模块:按照语音命令做出回应,播放相应的MP3文件应答,实现简单的人机对话,也可以按照命令播放SD卡中的音乐,放松身心。 比赛预期的成果如下http://5b0988e595225.cdn.sohucs.com/images/20190505/6ac606c581e74a9492edba7decc495c2.jpeg总的来看整个系统的核心是STM32微处理器,并利用ESP8266模块实现与机智云的通信传输,并将数据发送到APP,再将APP的命令通过机智云返回微处理器。整个系统的语音与播放依赖的是娱乐系统的语音识别与播放,智能门禁系统与健康监测系统依赖的是各传感器与模块。这些模块共同构成了智能寝室系统。智能门禁系统应用:在你火急火燎的从六楼寝室出去,到了楼下才意识到门没锁,你是否很不情愿再跑到六楼去锁门。有了智能寝室,掏出手机点击二级关锁,门马上就反锁,或者等你到了教室才意识到没锁门,也可以用手机APP二级关锁,是不是很方便。当你回到寝室发现没带钥匙,你要么等其他舍友回来,要么去一楼宿管那登记拿备用钥匙,再或者舍友都没带钥匙,凉凉。但有了智能寝室,掏出手机点击二级开锁,或者验证指纹,门马上就开了。你出去上个厕所,门突然被风刮上了,寝室门从门外是不能拧把手打开的,你敲门让你舍友给你开门,你舍友都在床上懒得下来,你怎么办?有了智能寝室,用你的ID卡一刷,或者手机点击一级开锁,门就开了,再或者寝室定了外卖,外卖送上来敲门,如果你在上铺,你的下铺也不愿意帮你拿,怎么办同样手机点击二级开锁,让外卖小哥送饭到你的床前。健康监测系统应用:熬夜过后,是不是感觉心跳加快,为了确定是不是快的异常,来心率血氧模块这里,对着语音系统喊一声“我要测心率”,或者APP点击“测心率”按钮,把手指放到模块上,你的心率、血氧就显示在了OLED屏与APP上。你想知道有没有“二十五,鼓一鼓”,喊一声“我要测身高”,站在超声波模块下面,你的信息马上就显示出来。娱乐系统应用:在寝室无聊,来逗一逗语音系统,“小菲菲,陪我玩”,“去找Siri那个小婊砸,我没空”,是不是很有意思,想听歌了,喊一句“放歌”,SD卡中的好歌好曲循环播放,不好听,喊一句“下一首”马上为您切歌。[ 实物图]所有模块都固定在了一个鞋盒子里了。测试视频地址在下面,注意视频中SG90的舵机扭矩太小,所以没办法把门把手拽动,大家可以换成MG995舵机。http://5b0988e595225.cdn.sohucs.com/images/20190505/338be363faea4300b7a598c7fa8f746b.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190505/cc09432a17424362a713823509a94f10.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190505/b7db5b4f9b914238b4768db1387b5475.jpeg视频演示地址:v.youku.com/v_show/id_XMzYwMDAzNDI0NA==.html项目代码下载:download.csdn.net/download/tichimi3375/10411505download.csdn.net/download/tichimi3375/10411666作者:唯恋殊雨

  • 2019-04-26
  • 发表了主题帖: 给STM32F103装一块N102,在家就能体验NB-IoT开发啦

    给STM32F103装一块零零智能N102模块,在家就能体验NB-IoT开发啦 随着NB网络部署的越来越完善,很多机友们都蠢蠢欲动,想体验一把NB-IoT开发。 已申请过/购买过gokit3开发版的机友们,今天小编教你一招,分分钟在家在学校就能体验NB开发啦。需注意的是,请确认实验的时候NB-IoT已覆盖,N102有授权码。 首先你需要准备以下物料:STM32F103(GoKit3的底板)GoKit3的功能版零零智能N102模块NB卡、杜邦线、USB数据线、电脑、机智云开发平台账号等 物料准备好后,按照下面的步骤来做,就可以啦。 http://club.gizwits.com/static/image/hrline/4.gif 一、概述本文主要介绍如何使用Gokit开发板和NB-DTU N102模块快速接入机智云 二、NB模块与机智云数据交互流程设备与机智云数据交互的基本数据流如下图。APP接收设备上报数据:设备上报数据→运营商IOT平台→机智云平台→APP端APP下发设备控制数据:APP端→机智云平台→运营商IOT平台→设备接收数据http://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_1.png 三、在机智云官网创建设备产品,定义数据点,添加设备这里以“智能灯”的例子介绍设备接入机智云的整个流程。1. 创建新产品http://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_2.pnghttp://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_3.png2. 定义数据点http://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_4.pnghttp://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_5.pnghttp://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_6.png3. 添加设备http://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_7.pnghttp://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_8.pnghttp://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_9.png四、下载自动生成mcu代码,烧写程序到Gokit的mcu中http://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_10.png 五、修改mcu程序,使得mcu可以控制LED灯程序修改步骤,略,本文最后有参考代码 六、N102与mcu接线,通电让设备上线http://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_11.png 七、设备上线,机智云IOE DEMO APP绑定设备当模组正常开机十多秒以后,模组会自动连接上机智云平台,此时我们可以使用机智云APP扫描二维码的方式绑定GN511,使用机智云串口助手的小工具生成设备绑定二维码(串口助手下载地址https://download.gizwits.com/zh-cn/p/98/119)http://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_12.png生成设备绑定二维码后,我们可以下载机智云IOE DEMO APP扫码绑定设备(APP下载地址https://download.gizwits.com/zh-cn/p/98/99)http://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_13.png 八、控制设备,点亮/熄灭LED灯成功,机智云接入完毕http://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_14.pnghttp://docs.gizwits.com/assets/zh-cn/deviceDev/debug/NB_project/NBproject_15.png

最近访客

< 1/1 >

统计信息

已有9人来访过

  • 芯币:97
  • 好友:--
  • 主题:22
  • 回复:5
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言