极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1206|回复: 6

做个私人专属的快递箱,还是ESP8266吧

[复制链接]
发表于 2020-5-14 14:44:01 | 显示全部楼层 |阅读模式
本帖最后由 快乐起航2012 于 2020-6-14 16:10 编辑

这两天蜂巢收费的新闻吵得沸沸扬扬,几毛钱的事儿居然这么大动静,看了看才知道,不是钱多少的问题,是原来承诺的不收费,现在做大了开始收费了,目的是为了提高使用率,更有甚者紧接着几家大的快递公司同时宣布涨价,理由是公路收费了。垄断就是任性,连理由都不懒得认真找了。在我看来,其实问题不是收不收费的事儿,是根本问题并没有解决。

快件到了公用的快递柜其实并没有送达用户,很多快递员放快递,很多人取快递,大家都集中在快递柜,堵车是必然的,资源稀缺是必然的。要是快件到了用户专用的快递柜,那就基本上能算到了用户手上了,用户可以随时取,不取也没事儿。

不多废话了,还是说我们的技术吧,很久以前的《用NodeMCU(ESP8266)打造超级实用的智能插排》链接:https://www.geek-workshop.com/forum.php?mod=viewthread&tid=24907&highlight=%E6%8F%92%E6%8E%92 得到很多人的关注,讨论的QQ群有几百人,会员没续费,无法再添加了,这次还用ESP8266,打造一个更实用的快递柜,欢迎一起!


快递柜方案原理如下图所示,系统使用12V直流电源给控制板供电,控制板通过室内的wifi连接互联网,控制指令通过网络发送到控制板,控制板通过控制快递柜上的两个门的电磁锁控制柜门打开。快递柜置于楼道贴墙固定,注意要放在自己家这一边,说不定对门也要装呢
控制原理图.png 快递柜.png


定制柜子,还有采购件已经下单了,合计500,为了少花5毛钱,呵呵

电子锁安装后效果还不错。







柜子的按钮开关,还是挺靓的,价格也美丽



硬件设备安装到位,下面是软件了

1.jpg
2.jpg
回复

使用道具 举报

 楼主| 发表于 2020-5-24 09:33:27 | 显示全部楼层
箱体终于到了,迫不及待的安装,叮叮当当的,忽然听到有人敲暖气的声音,看看表都夜里11点多了,看来只能明天再说了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-14 16:15:33 | 显示全部楼层
本帖最后由 快乐起航2012 于 2020-6-14 16:19 编辑

选什么物联网系统啊? 搜索了一下目前的系统,发现阿里有一个Alios things,高大上的准备试试。安装下载系统花了相当长的时间,反复试验就是无法成功编译,进行了各种尝试,版本等等,还是无法成功,最终还是放弃了,让别人先把坑填填再说吧。

系统还是应该选更加大众化的,不要老在冷门的地方浪费时间,于是想到ESP8266也可以上Arduion,来到首页居然有个  物联网教程, 点进去推荐了一个blinker的解决方案,试了一下,没有多久居然成功了,看来就它了吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-14 16:24:41 | 显示全部楼层
手机app界面配置如下:
在手机上简单操作居然出来个还不错的界面,这是我有史以来最简单的手机端最简单的开发方案,简直是又快又好。
3.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-14 18:13:53 | 显示全部楼层
  1. #define BLINKER_WIFI
  2. //定义端口地址 根据连线情况确定
  3. #define DOOR1 2
  4. #define DOOR2 3
  5. #define KEY1 4
  6. #define KEY2 5
  7. //头文件
  8. #include <Blinker.h>

  9. //定义链接参数,这个是秘密只能xxxx了
  10. char auth[] = "xxxxxxxxxxxxxx"; //blinker上的设备码
  11. char ssid[] = "TPxxxxxxxx";   //路由器
  12. char pswd[] = "xxxxxx";       //密码
  13. unsigned char key1_sta=0;
  14. unsigned char key2_sta=0;
  15. unsigned char box1_sta=0;
  16. unsigned char box2_sta=0;

  17. // 新建组件对象连接Blinker用
  18. BlinkerButton Button1("btn-1");
  19. BlinkerButton Button2("btn-2");

  20. // Blinker的回调函数
  21. void button1_callback(const String & state) {
  22.   box1_sta=0; //取件,清除有件状态
  23.   digitalWrite(DOOR1, LOW);
  24.   delay(500);
  25.   digitalWrite(DOOR1, HIGH);
  26. }
  27. void button2_callback(const String & state) {
  28.   box2_sta=0; //取件,清除有件状态
  29.   digitalWrite(DOOR2, LOW);
  30.   delay(500);
  31.   digitalWrite(DOOR2, HIGH);
  32. }

  33. void setup() {
  34.   //设置开门地址
  35.   pinMode(DOOR1, OUTPUT);
  36.   pinMode(DOOR2, OUTPUT);
  37.   digitalWrite(DOOR1, HIGH);
  38.   digitalWrite(DOOR2, HIGH);
  39.   //设置按键地址
  40.   pinMode(KEY1, INPUT);
  41.   pinMode(KEY2, INPUT);
  42.   Blinker.begin(auth, ssid, pswd);
  43.   Button1.attach(button1_callback);
  44.   Button2.attach(button2_callback);
  45. }

  46. void loop() {
  47.   Blinker.run();
  48.   //有按键打开相应的柜子
  49.   if(digitalRead(KEY1)==0 && key1_sta==1 && box1_sta==0){
  50.     digitalWrite(DOOR1, LOW);
  51.     delay(500);
  52.     digitalWrite(DOOR1, HIGH);
  53.   }
  54.   if(digitalRead(KEY2)==0 && key2_sta==1 && box2_sta==0){
  55.     digitalWrite(DOOR2, LOW);
  56.     delay(500);
  57.     digitalWrite(DOOR2, HIGH);
  58.   }
  59.   key1_sta=digitalRead(KEY1);
  60.   key2_sta=digitalRead(KEY2);  
  61. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-14 18:17:14 | 显示全部楼层
附:Blinker的教程地址
https://www.arduino.cn/thread-83754-1-1.html
https://www.arduino.cn/thread-83754-1-1.html

Blinker没有让人失望,实现起来简单快捷,目前使用的免费版本,进一步的专业版待续

系统在工作一段时间偶有不在线情况,具体问题还在排查
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
箱子里面接收模块电源怎么处理的
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-7-7 21:00 , Processed in 0.061540 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表