2021-4-21 12:35:41 [显示全部楼层]
4308浏览
查看: 4308|回复: 2

[进阶] 智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...

[复制链接]
本帖最后由 ckkk 于 2023-3-11 22:19 编辑

智能分类垃圾桶(溢满消息miniD1物联控制钉钉群机器人发布)拓展教程
一、灵感来源
通过自然语音告诉垃圾桶需要扔的垃圾的名称,垃圾桶可以自动辨别垃圾的类型并告知你垃圾分类相关知识,同时自动打开对应垃圾桶让你投放,屏幕显示垃圾分类。这样解决了人们不知道垃圾分类也能自动智能打开垃圾桶盖这个问题。但新的问题来了,垃圾桶溢满(消息)怎样及时通知环卫工人呢?我们把这个消息(安放在桶侧面上部的超声波检测距离感知)通过钉钉群机器人发布在环卫工人的这个群里,让他们及时来更换垃圾桶。

二、项目设计
要将垃圾桶溢满消息远程发布出去,方便管理人员及时更换,方法有很多种。常常采用的是4G或5G上云,连接终端设备(如手机);也可用DFRobot的Obloq物联网模块,利用WIFI/mqtt上云,连接电脑或手机;还可以通过蓝牙直接与手机实现通讯,但拉不开距离(2.0蓝牙一般不超过10米,4.0蓝牙一般不超过30米)。前面三种方法网上都有相应的教程,这里不再赘述。这里为小伙伴们推荐使用WeMos D1 WiFi(本教程用mini D1开发板),物联钉钉群机器人发布信息,虽然是通过Arduino IDE写程序,源代码封装后只要小伙伴们修改“钉钉群机器人token、上网环境的WIFI用户名和密码”三个参数即可,在我们当地(湖北荆门)每次培训,小学三年级及以上的小伙伴们90%以上都可以掌握,简单实用。利用D1开发板,只要有点代码编程基础的小伙伴们网上找到对应的库文件,利用示例代码略加修改直接API接云(如百度智能云、阿里云、腾讯云、讯飞开发平台及TinyWebDB网络微数据库)实现自己的创意想法,让它们变成现实。

三、作品功能
小朋友可以通过自然语音告诉垃圾桶需要扔的垃圾的名称,垃圾桶可以自动辨别垃圾的类型并告知你垃圾分类相关知识,同时自动打开对应垃圾桶让你投放,屏幕及时显示垃圾分类属类。如果垃圾桶溢满,发消息钉钉群机器人发布,通知清洁工人来替换或运走。

四、硬件清单
1. Arduino Uno主控板*1
2. 语音识别模块*1
3. 语音合成模块*1
4. OLED显示屏*1
5. 舵机*2
6. 超声波*2
7. mini D1(ESP-8266)
8. 电源

五、认识超声波与mini D1(ESP-8266)

1. 超声波

超声波测距原理与雷达测距原理相似。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s。超声波还可以有很多玩法儿,如常用于汽车倒车报警器、门铃、警戒报警器、地铁安全线提示、银行及取款机的一米线提示等。
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图1
2. mini D1(ESP-8266)
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图2

智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图3

六、硬件连接
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图4
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图5

七、垃圾分类

(一)可回收垃圾:
1 fei bao zhi废报纸,2 su liao ping塑料瓶,3 yi la guan易拉罐,4 bo li ping玻璃瓶,5 su liao wan jv塑料玩具,6 xin feng信封,7 jiu shu ben旧书本,8 bu liao布料,9 fei jiu jin shu废旧金属

(二)不可回收垃圾:
11 fei dian chi废电池,12guo pi果皮,13 fei deng guan废灯管,14shui yin wen du ji水银温度计,15 sha chong ji ping杀虫剂瓶,16 niao bu si尿不湿,17 can jin zhi餐巾纸,18 sheng cai sheng fan剩菜剩饭,19 yan tou烟头


八、Mind+编程
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图6

九、溢满报警调试

1. 将上面用Mind+编好的程序,上传到设备(arduino Uno),用纸张(或其他物品)挡在超声波传感器前,就会看到OLED屏第四行显示的超声波测得的数据,听到语音合成模块非常的声音(可回收垃圾桶溢满,快来更换!或不可回收垃圾桶溢满,快来更换!)同时观察钉钉群机器人发布的消息“可回收垃圾桶溢满,快来更换!”、“不可回收垃圾桶溢满,快来更换!”。

2. 自然语音播报需要扔的“垃圾的名称”(详见七、垃圾分类),垃圾桶可以自动辨别垃圾的类型并告知你垃圾分类相关知识,同时自动打开对应垃圾桶让你投放,屏幕显示垃圾分类。

3.调试视频

十、钉钉群自定义机器人

步骤一:【电脑钉钉】-【群聊】-【群设置】-【智能群助手】-【添加更多】-【添加机器人】-【自定义】-【添加】,编辑机器人名称和选择添加的群组。完成必要的安全设置(至少选择一种),勾选 我已阅读并同意《自定义机器人服务及免责条款》,点击“完成”即可。
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图7
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图8

步骤二:复制出机器人的Webhook地址(格式如下截图),可用于向这个群发送消息。并点击【完成】,自定义机器人就添加成功了。

智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图9
更加详细的设置介绍,请参考链接:
https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq/9e91d73c

【温馨提示】:
1、若关闭【仅群主和群成员可管理】,群成员也是可以添加机器人
2、出于对于群信息的安全,安全设置必须要选择一项。安全设置目前有3种方式:

(1)方式一,自定义关键词
最多可以设置10个关键词,消息中至少包含其中1个关键词才可以发送成功。
例如:添加了一个自定义关键词:溢满
则这个机器人所发送的消息,必须包含 溢满 这个词,才能发送成功。  
(2)方式二,加签
(3)方式三,IP地址(段)

3、由于目前自定义机器人需要进行安全配置,需要在电脑端添加。手机端不支持添加自定义机器人哦。

4、如果设置或者自定义机器人遇到问题可以查看下开发平台文档中心里关于机器人的介绍,更多的技术求助,可登录开发者后台(https://open-dev.dingtalk.com/)查看相关知识。开发平台文档中心:https://open.dingtalk.com/

智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图10

十一、搭建ESP8266的arduno IDE环境
esp8266-2.7.4 离线安装步骤(在线安装方法一样,就是时间有点长):

1.打开Arduino IDE(版本任意,我的版本是1.8.14)->文件-> 首选项 -> 附加开发板管理器网址,填入:http://arduino.esp8266.com/stable/package_esp8266com_index.json,重启一下IDE。
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图11
2.重启后检查一下 "附加开发板管理器网址" 是否成功更改。若不成功,重复1.,再试一次。

3.将packages文件夹解压得到如下图所示的5个文件
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图12
再将packages文件夹复制粘贴到C:\Users\你的用户名\AppData\Local\Arduino15\staging 目录下(如果没有此目录可以手动创建)。
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图13
4.工具-> 开发板 -> 点击开发板管理器->滚到最下面 选择esp8266 by ESP8266 Community 版本选2.7.4 ,点击安装。

十二、mini D1与arduino UNO串口通讯数据上云

1.     利用arduino IDE对mini D1开发板编程:
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图14
2.     查看钉钉群机器人发布的溢满消息:
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图15
十三、结构件制作及作品多角度照片:

1.     结构件制作
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图16
2.     作品多角度照片
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图17
智能分类垃圾桶(溢满消息D1物联控制钉钉群机器人发布)...图18
十四、相关教程:
十五、源代码及软件下载:下载附件dingtalk.zip下载附件ArduinoJson.zip

下载附件packages_esp8266-2.7.4下载地址.zip

下载附件ArduinoIDE1.8.14下载地址.zip

pxq  见习技师
 楼主|

发表于 2021-4-21 16:45:56

本帖最后由 pxq 于 2021-4-21 16:47 编辑

环境搭建后用示例程序dingtalk.ino,如果编译通不过(报错缺ArduinoJson.h)请安装ArduinoJson库文件(方法是将ArduinoJson.zip文件解压后复制粘贴到arduino IDE1.8.14安装目录下的库文件夹libraries里即可)
回复

使用道具 举报

Cheerrrrrr  学徒

发表于 2022-12-11 15:22:37

您好 请问dingtalk.ino编译时间超限会是什么原因
SunDecember-202212114013..png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail