In this note, I will show you how my team made the modern IoT safedops
Protect your delivery package from a stolen prototype of the connected device!
We came up with this idea at the AT&T Developer Summit Hackathon and did coding and building in less than 24 hours.
Our design won us second place in the Intel Edison sponsor challenge!
I hope you like it. —
During the festival, thieves will keep an eye on the Amazon gifts left at your doorstep.
Safdops is a safe, located in front of your house and can only be opened when scanning the correct package barcode.
Users operate the safe through a matching mobile app.
They enter the confirmation code of a package in this application, which will register the barcode of this package into the function key database.
When the deliveryman comes, they scan the package with a box and only open the box when it is identified. —
Our building consists of four parts: 1.
Box controlled by Intel Edison motherboard 2.
The scanner runs on an Android phone and the code is written through Intel Edison XDK 3 in Cordoba.
The supporting application running on the second Android phone, the code is written in native Android 4.
Cloud, coordinate all accessories to bring with you to build this monster, we use: monthly cardboard Box2 Android Phones1 Intel Edison Board1 Lin Board1 LED1 Buzzer1 Servo1 photorector1 USB WebcamIntel Chen guanxi XDK Internet of Things Edition (
Application)Android Studio (Companion app)
A box of tape (
Or anything you want to use to put everything together)
The boards have several different modules that are encoded to be activated in different situations.
A servo acts as a lock.
If it is parallel to the edge of the box, it is unlocked.
If it is notified to do so, it turns 90 degrees into a locked position.
When the box is unlocked, the LED is on and the buzzer is buzzing.
The webcam uses photosensitive data to turn on and off.
You can go through the code we wrote to understand how the programming language works.
A major challenge in this part is to make the USB webcam work.
We hope it's in 10-
The second interval in which the box opens, and then post the video to be accessed in the cloud.
We found out
It's easy enough to play the video, but it's really hard to actually save the video clips for replay.
Finally, we entered some code to convert it from one file type to another, in which it can be saved correctly.
The cloud feature is included in the code.
A local server is set up in node.
Js used by the webcam to publish the latest video recording.
The mobile app accesses this endpoint to view the video.
The code we use is here.
We wrote an application for the scanner using the Intel Edison XDK, which has a sample application
Written in Cordoba.
Cordova is a platform for translating languages commonly used in web development (
Move apps locally.
A sample application included in the development kit is a barcode scanning application, so we use it as our base application and edit it on it to make sure everything in the system is
Our code editing feature has a big "scan" button and we use the front camera instead of the rear camera to do the actual picture --taking.
This process is actually quite a bit of time.
Consume and ask us to delete the pre-compiled .
The jar file that comes with the project and recompile it when the camera changes so that the app recognizes it.
After the application scans the barcode, an http post request is sent to the validation endpoint.
Verify the database where the endpoint tracks the expected key.
If the barcode key belongs to the package you expect it will send back a successful JSON.
Otherwise, it sends back the error.
If we resolve the validation to be successful, then we send another http post request to a different endpoint in the local network--
The box listens for this endpoint and will open if a positive value is received.
After 10 seconds, the VPs application sends a close request to the same endpoint, which the request command box closes.
If an error occurs in any of this pipes, the Cron app shows that an error exists and the box is not opened.
The code we use is here.
The supporting app is written with the native Android code. We use Android Studio as the IDE.
The user interface is very simple: in our model application, the user starts with the login screen.
So far, we have not implemented an actual login algorithm, so we can pass it by clicking Login.
The list of expected packages is displayed on the main dashboard.
Our app displays a green check next to the delivered arrival.
With these deliveries selected, the user can see the details of the said delivery, or watch the video from the delivery person putting the package into the box.
The video is accessed via a local web page released by the board of directors of Intel Edison.
The code can be found here.
Once everything is coded and wired, it won't be too difficult to assemble.
We used a spare box as the main body of the safe.
It opens at the top.
To form a locking mechanism, we removed the handle that was originally placed on the top of the box and attached it to the lip.
This is a small pocket.
We then connect the servo to the opposite lip of the machine, so that when the servo is in the "lock" position, it inserts itself into the pocked.
It exits automatically when it is in the "unlock" position.
We put the webcam and the light detector behind the box.
This provides the biggest advantage, so the webcam can see most of the process of putting in the package.
The LED and buzzer are located on the front edge of the box to inform the user that the box is open.
We used a box cutter to cut the necessary holes in the front of the box, a big hole in the screen of the phone and a small entrance that can be seen by the scanning camera.
We stuck everything together with tape because it was a hackathon and time was tight.
You can use something cleaner or more permanent if you guys have more time :).
Now you just plug in the Intel Edison motherboard and load the scanner app and the companion app.
You can copy the tracking code you see on the barcode (
The app recognizes all major types, including QR codes! )
A companion application registered to the system.
It should work when you scan it through the scanner! That's it!
Have fun with your prototype safedops!