用Arduino来看看快递的暴力程度!
【暴力快递评测报告】想知道哪家快递大叔更暴力?Arduino科学“跟踪”调查告诉你!
作者:果壳实验室,发表于:2015-2-4 19:45:27
前些日子,玉溪同学为了试着打开快递大叔的内心世界(啧啧。。。详情请点击“快递暴力指数(不完备)测评报告”)而DIY了暴力快递测试设备,取得众多网友的热烈反响,遂在经过千万场内心戏之后,开始了下一次更完备的暴力测试计划。(截至发帖,玉溪同学已经远在美帝,这次把他都供出来了,希望美帝能确保他人身安全!( ′ ▽ ` )? ……至少小编我很安全,嗯!)
由于果壳实验室的小伙伴DFRobot对快递大叔内心世界也颇感兴趣(误,这句划掉),由于果壳实验室的小伙伴DFRobot对这项拯救人类世界的计划颇为感兴趣,决定与果壳试验一起进行项目,于是,我们这项搞机计划便轰轰烈烈开始啦!
本次测试区域仍选择在北京市内,快递路线大致为朝阳区到海淀区。因此我们的设备功能需求是:能够测量包裹撞击时加速度的强度,并将数值连同撞击时间记录在SD卡内。考虑到北京市内快递一般能实现次日达,因此我们将设备续航时间设定在24小时。
综合了功能和设备小型化的需求,我们最终选择的设备构成包括:DFRduino nano+BMA220加速度传感器+MiscroSD 模块+DS1307时间模块,同时采用一块3.7V 2000MA的锂电池+直流升压模块(输出5V)给设备供电。
DFRduino nano
BMA220加速度传感器
MiscroSD 模块
DS1307时间模块
3.7V 2000MA的锂电池与直流升压模块
选好器材之后,果壳实验室与@DFRobot 就开始愉快地撸起来了……ˊ_>ˋ
首先把这些器材用杜邦线连接起来。铛铛铛~瞬间就接好了……
喔喔,好像节奏快了一点点……再贴张连接图吧!
接着,给RTC设置时间。将DS1307RTC的例程SetTime烧写入Arduino中,打开串口监视器,看到Arduino返回的时间数据为当前时间,时间设置完成!
然后开始写代码,点击一下upload,哇,好了!(怎么可能一次就好!写代码……改代码……写代码……改代码……写代码……改代码……写代码……upload,再改……这个过程我们就略过吧!)
终于,设备调试完了(ˊ_>ˋ这回真的好了) 。
装上电池后用信封包起来,装进盒子里。
然后就愉快地让内心世界丰富的快递大叔来把快递取走了!
磕磕碰碰,中间遇到其他事情,好几天才完成了包裹寄出和回收任务,然后就开始处理数据了……(别说了,这是最痛苦难受地好不好),然后,就出结果啦……
来看看快递大叔的心情……
其实快递的磕磕碰碰,汽车在快加速,或者急刹车的过程,产生的加速度也记录在设备上了。因此我们试着做一个比较好的比较,让同事带着设备走回家。 从公司到家,来回大约十三公里的路途,主要靠走路和地铁。我们获得的数据如下:
这个实验样本产生了11个数据点,对照时间,基本上是地铁加速减速产生的加速度,加速度大小主要在5~6m/s^2。
在我们试验的几个快递样本上,超过15m/s^2的加速度出现次数不少,也有几次超过20m/s^2,甚至达到27m/s^2。快递大叔的心情……啧啧……
实验至此,快递大叔的心情大家也看了,想说的道理其实大家也都懂,易碎的该包严实,贵重的要买保险……喔不,公司的同事说了,如果万一快递大叔明天心情不好了,你们几个就去给同事收发快递吧……别说了,让我先去厕所哭会……
等等……要代码?再此之前记得先安装一下RTC的库喔!
#include <Wire.h> #include <math.h> #include <SD.h> #include <DS1307RTC.h> #include <Time.h> #include <Wire.h> byte Version[3]; int8_t x_data; int8_t y_data; int8_t z_data; byte range=0x03; float divi=16; float x,y,z; File myFile; void setup() { Serial.begin(9600); Wire.begin(); Wire.beginTransmission(0x0A); // address of the accelerometer // range settings Wire.write(0x22); //register address Wire.write(range); //can be set at"0x00""0x01""0x02""0x03", refer to Datashhet on wiki // low pass filter Wire.write(0x20); //register address Wire.write(0x05); //can be set at"0x05""0x04"......"0x01""0x00", refer to Datashhet on wiki Wire.endTransmission(); Serial.println("Initialization SD card..."); pinMode(10,OUTPUT); if (!SD.begin(4)) { Serial.println("initialization failed!"); return; } Serial.println("initialization done."); } void AccelerometerInit()// get accelerated { Wire.beginTransmission(0x0A); // address of the accelerometer // reset the accelerometer Wire.write(0x04); // Y data Wire.endTransmission(); Wire.requestFrom(0x0A,1); // request 6 bytes from slave device #2 while(Wire.available()) // slave may send less than requested { Version[0] = Wire.read(); // receive a byte as characte } x_data=(int8_t)Version[0]>>2; Wire.beginTransmission(0x0A); // address of the accelerometer // reset the accelerometer Wire.write(0x06); // Y data Wire.endTransmission(); Wire.requestFrom(0x0A,1); // request 6 bytes from slave device #2 while(Wire.available()) // slave may send less than requested { Version[1] = Wire.read(); // receive a byte as characte } y_data=(int8_t)Version[1]>>2; Wire.beginTransmission(0x0A); // address of the accelerometer // reset the accelerometer Wire.write(0x08); // Y data Wire.endTransmission(); Wire.requestFrom(0x0A,1); // request 6 bytes from slave device #2 while(Wire.available()) // slave may send less than requested { Version[2] = Wire.read(); // receive a byte as characte } z_data=(int8_t)Version[2]>>2; x=(float)x_data/divi; y=(float)y_data/divi; z=(float)z_data/divi; Serial.print("X="); Serial.print(x); // print the character Serial.print(" "); Serial.print("Y="); Serial.print(y); // print the character Serial.print(" "); Serial.print("Z="); // print the character Serial.print(z); } void loop() { double accelerated_speed; switch(range) //change the data dealing method based on the range u've set { case 0x00:divi=16; break; case 0x01:divi=8; break; case 0x02:divi=4; break; case 0x03:divi=2; break; default: Serial.println("range setting is Wrong,range:from 0to 3.Please check!");while(1); } AccelerometerInit(); accelerated_speed=sqrt(x*x+y*y+z*z); Serial.print("accelerated_speed="); Serial.println(accelerated_speed); if(accelerated_speed>=1) { //get time tmElements_t tm; RTC.read(tm); //write data myFile = SD.open("test.txt", FILE_WRITE); if (myFile) { Serial.print("Writing to test.txt..."); //recoder time and data myFile.print("accelerated_speed="); myFile.print(accelerated_speed); myFile.print(" "); myFile.print("time="); myFile.print(tm.Hour);// myFile.print(':'); myFile.print(tm.Minute);// myFile.print(':'); myFile.print(tm.Second);// myFile.print(':'); myFile.print(", Date (D/M/Y) = "); myFile.print(tm.Day); myFile.write('/'); myFile.print(tm.Month); myFile.write('/'); myFile.print(tmYear); // close the file: myFile.close(); Serial.println("done."); } else { // if the file didn't open, print an error: Serial.println("error opening test.txt"); } } delay(100); } void print2digits(int number) { if (number >= 0 && number < 10) { Serial.write('0'); } Serial.print(number); }
乌云吐槽:
1#
啊L川 (我想起那天下午夕阳下的奔跑,那是我逝去的青春...) | 2015-06-30 18:17
沙发
2#
Anymous (专注于廉价迷你方便快捷的解决方案) | 2015-06-30 18:19
我喜欢啊,但是这个不算hack吧,算geek?
3#
疯狗 (阅尽天下漏洞,心中自然无码。) | 2015-06-30 18:21
@Anymous 嗯,geek,但是Arduino应该也很容易做出点hack的玩具
4#
sdc1992 | 2015-06-30 18:21
下次可以去测下飞机托运的行李~
5#
疯狗 (阅尽天下漏洞,心中自然无码。) | 2015-06-30 18:31
@sdc1992 嗯,而且现在传感器对现实生活的信息感知能力非常强了,可以收集很多东西:P
6#
light (生于理想,死于欲望) | 2015-06-30 19:51
这个好玩~
7#
zzzzy (我已然别无所求) | 2015-06-30 20:12
挺有意思de
8#
一只猿 (我是猴子派来的彩笔) | 2015-06-30 22:12
Arduino 菜鸟玩家路过
9#
一只猿 (我是猴子派来的彩笔) | 2015-06-30 22:16
对了DFRobot官方商城好像有问题,检查下吧
10#
无敌L.t.H (?……天百一爱恋考高:簿相色白产国) | 2015-06-30 23:02
为何没有EMS的结果?是不是EMS的被偷了?
11#
Knight (查水表。缴wb不杀) | 2015-07-01 09:47
这个两三年以前就有人做过了。
12#
孤零落叶寒 (我会打酱油,我的大号去哪了?) | 2015-07-01 13:37
现在只会搞家用浇花,鱼缸换水喂食等小东西,
13#
黑暗游侠 | 2015-07-01 16:11
@疯狗 @xsser 我想到的是当今快递行业对通信信号类设备还没有完善的检查措施,如果植入恶意的程序,被带到了快递总部车间,有没有完善的检测措施,能发生什么,还是可以想象的。
14#
疯狗 (阅尽天下漏洞,心中自然无码。) | 2015-07-01 17:09
@黑暗游侠 嗯,特殊的设备进入一个我们无法进入的区域,有点像电影
15#
4399gdww (人为刀俎我为鱼肉) | 2015-07-01 20:18
数据里还含有刹车吧
16#
行侠 | 2015-07-02 07:58
这个属于极客玩的吧!黑客玩不起没设备,话说把这个设备用在危险化学品运输跟踪上加个显示屏感觉意义会更大,有效检测危化品在运输途中的撞击避免事故发生。
17#
kow (我只是个酱油。。。) | 2015-07-02 11:40
这个之前用51就做过,现在应该有现成的产品了吧。。
18#
核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2015-07-03 16:23
哈哈哈,以前做过智能机器人。
这想法太吊了!
相关内容:
100 美元,打造一个“开锁大师”,自动开锁机秒开任何转盘密码锁!
SD卡被黑客攻破了,黑客团队Andrew "bunnie" Huang等宣布已经攻克SD卡
利用Teensy进行EM410x卡模拟以及暴力破解EM410X类门禁系统可行性猜想
用Arduino制作有趣应用的系列之物联网 可实时监测PM2.5并联网上传
nRF24L01 Module Demo for Arduino
arduino + STC89C52RC + nRF24L01 制作远程测温系统
Arduino UNO 单片机 控制主板LED灯闪烁 针脚13 delay 函数
Arduino UNO 单片机 URM37 V3.2 超声波测距模块演示代码
【视频】Arduino GlaDOS 单片机 炮塔 Turret 智能小车【超清】
This Is My GlaDOS! Ye ~ ~ Yooooooooooooooooo!
This Is My GlaDOS! Ye ~ ~ Hack At“Arduino UNO”~ ~ ~
100 美元,打造一个“开锁大师”,自动开锁机秒开任何转盘密码锁!
如何利用无人机、四轴飞行器、飞艇远程大范围入侵WIFI并自动渗透内网?
Hack无线门铃 - 简单分析和重放攻击,信号重放,无线物理硬件黑客
【视频】黑客远程入侵汽车解锁车门,汽车电子钥匙信号重放,重放钥匙扣信号
iSniff GPS:WIFI被动嗅探工具,嗅探附近无线设备广播泄漏信息定位
全自动无线入侵热点,黑客全自动WIFI钓鱼,大规模批量无线热点钓鱼
WiFi流量劫持:网站JS脚本缓存投毒!长期控制!浏览任意页面即可中毒!
如何入侵控制交通红绿灯?美研究人员发现劫持交通灯其实非常简单
某款网络摄像机直接获取帐号密码,视频监控设备配置信息泄露漏洞
讨论电影中出现的各种骇客、黑客入侵手法,《幽灵》、《神探夏洛克》
移动电源内置窃听器,在淘宝上买的充电宝内置远程定位、监听硬件后门!
使用WiFi真的有那么危险吗?安全科普:教你增强自己的无线网络安全
WiFi里的猫腻:变色龙病毒,无线破解、蹭网,蜜罐路由器,黑吃黑
黑客讲故事:攻下隔壁女生路由器后,我都做了些什么,无线路由器被蹭网后,入侵女神
女黑客Oona,分析直升机现场拍摄警车追捕画面中的信号声,绘出飞机飞行轨迹
指纹门控的安全,户外物理设备入侵,如何入侵绕过指纹识别安全锁、门控系统
揭露一个飞机退改签的诈骗:借口机票退改签要退款,索要银行卡号,套取个人信息
已更新Iwork10测评!求推荐一款便携式户外物理移动渗透终端设备!!!
一基友再遇奇葩无线网络环境,顺便求二级/三级/四级ISP的盈利方式?
Hikvision IP Cameras Multiple Vulnerabilities,海康威视IP摄像机的多个漏洞
Hikvision IP Cameras Multiple Vulnerabilities, 海康威视IP摄像机的多个漏洞
已获得网络出口引擎管理员权限,试问监控全网HTTP密码传输可能性?
浅谈社工,欢迎讨论、补充,各种猥琐社工、人肉技巧,物理社工、人肉
【TED】Markham Nolan:如何辨别网上信息真伪,神级人肉,物理社工
ATM 机里装着什么?ATM 机的结构是什么?ATM 的构造原理?
关于伪基站的一些问题:信号覆盖范围?设备成本?是否违法?教程资料?
伪基站是怎么定位的呢?定位并抓捕伪基站、圈地短信、垃圾短信犯罪团伙!
讨论:通过无线路由渗透入侵内网电脑,如何从无线路由器到个人PC机?
谈谈时事:电话“诈”弹导致多地机场飞机被迫返航,论如何打电话不被追踪
互联网安全大会360关于百度安全联盟"闹会"的声明 ← 不炒作会死?会死!
小米云服务同步“wlan设置”的安全性,小米已收集了32万wifi明文密码
为抓小偷 俄警方在地铁安装能读取乘客手机信息的设备,这是啥技术?
(视频)USRP 来Sniffing 无线键盘,27Mhz keyboard sniffing
(视频)USRP 来 Sniffing 无线键盘,27Mhz keyboard sniffing
全面披露华硕十款无线路由器 - AiCloud启用单位的多个漏洞
超级短信DDOS 女生一天收上万条10086短信 还有近50万条等着她
讨论如何通过航空飞机的互联网入侵、劫持飞机上的乘客,入侵劫持卫星
R820T电视棒+软件无线电跟踪飞机飞行轨迹(SDR&ADS-B)
rtl-sdr,RTL2832+E4k tuner电视棒跟踪飞机轨迹ADS-B/TCAS/SSR
rtl-sdr,RTL2832+E4k tuner电视棒跟踪飞机轨迹 ADS-B/TCAS/SSR
电视棒跟踪飞机轨迹教程(ADS-B), SDR GPS 飞机追踪
rtl-sdr,RTL2832电视棒跟踪飞机轨迹教程(ADS-B), SDR GPS 飞机追踪
视频: Dtac:将宠物变成了WiFi热点,泰国运营商将宠物变成WiFi热点
户外物理设备入侵之:入侵并“调教”中控指纹语音考勤系统(打卡机)
GNU Radio USRP OpenBTS 小区短信 区域短信
一种牛逼的短信群发技术 GNU Radio 小区短信 区域短信 免费发 无法拦截
如何管理一流的人才 + 这次真的谈谈如何管理一流人才:圈养牛人
周末湖边 Sniffing ADS-B,Hack 私人小型机场
视频: ATM 的那点事! ATM 漏洞, Hack for fun! 利用磁卡导致ATM关机
中国电信ADSL宽带信息泄露,可查任意IP对应的宽带账号,电话号码,上门砍人
Inception能入侵全盘加密的计算机,修改物理机器内存/任意密码进入
android软件外加监控,隐私安全?!爆个一键root内幕!
关于X卧底的通话监听、短信记录、定位追踪等侵犯隐私的行为讨论
远程入侵QQ好友所在网吧监控系统,人脸识别、定位坐标,定点打击
dSploit—Android网络渗透套件测试小记(含视频)
实时抓取移动设备上的通信包(ADVsock2pipe+Wireshark+nc+tcpdump)
武汉公安开发尖端人像识别系统 可瞬间辨认嫌疑人 全国摄像头寻人
美国极超音速飞机90分钟飞越半球,时速可达4000千米,飞行在太空边缘
单反刷成安卓/ios,手机 psp kindle,连文曲星 计算器 空调遥控器也不放过
视频:FPSRussia的俄式军火秀 遥控武装四桨直升机[中英双语字幕]
免费 WiFi 是“披着羊皮的狼”,女子蹭网引来20多名警察
Flightradar24 网站“直播”天上“堵飞机” 看全球实时航班
《魔兽世界》截屏数据水印惊现用户私人数据 截图隐藏水印 暗含玩家信息
用音响打电话,揭秘柯南电话拨号,如果电话键失灵了,直接用音响打电话
用音响打电话,揭秘柯南电话拨号,如果电话键失灵了,直接用音响打电话
iPhone 短信欺骗漏洞攻击器、伪造短信号码工具、伪装发件人攻击器
Never trust SMS: iOS text spoofing,永远不要相信短信:iOS的文字欺骗
iPhone 短信欺骗漏洞披露,伪造短信号码、自定义短信手机号
德安全专家破解GSM加密算法 GSM网络破解 监听全球40亿部手机
黑客在Defcon建立私人电话网络 - DEFCON 忍者 GSM 网络
拉斯维加斯国际黑客大会(DefCon 2012黑客会议)本周开战
802.11b 无线网络固件级攻击、802.11b Firmware-Level Attacks
2012中国计算机网络安全年会将于 7月3日-7月5日 在西安举行
手机全息投影、初音、Miku、立体投影,制作方法已放出,图文+视频
从技术角度深入剖析:改号软件,电话号码任意显示,伪造来电显示
华裔黑客 BITcrash44 凭借一台 iPhone4 拿下时代广场大屏幕
视频:国外黑客利用一部诺基亚N95手机入侵火车站电子屏,并且现场直播
视频:漂浮在空中的水珠、静止的水滴,适合做成展品的视错觉,超炫!!
利用电磁波进行入侵、原子级的黑客入侵、利用电磁波毁坏物理设备
电视机会收到邻居游戏机画面?小霸王信号干扰?红白机功率这么强悍?
视频:鬼佬的室内四轴定位系统,震惊,飞机模型能玩到如此地步!
ATM Skimmers - ATM Hacker - 自动提款机黑客
用黑客方式找回失窃的电脑 - GSM基站定位 - Wifi热点定位
不要偷黑客的东西 - Why you don't steal from a hacker
【视频】发射到121000英尺(36880.8米)摄影机拍摄地球