Welcome to the concluding section on our journey to create a Matchbox Meeting Room assistant, utilizing a plethora of technologies such as the Amazon Echo.
Part 3 ushers in the finishing touches and project evaluations from Giulio Ladu (Development) and Adam Thoms (Design).
Closing points on Alexa and Arduino
Giulio Ladu – When initially deciding on the best route to take in making this all possible, we choose to host our own web service. This was partly for fun, and to try something different – but also for practical reasons. Hosting our own service provides us with the opportunity to add extra functionality at any time in the future, with minimal disruptions to any current working skills. It is also gives us an insight into how the Alexa service interacts with a server.
We took the scenic route to get to this stage, but we now have Alexa talking to our web server, which in turn can call a web API and get a list of meetings between two given times. This can be formatted and passed back to Alexa to form a response, and passed over to the Arduino to update a screen.
There was one last issue I found with this set up – the screen needed constant updates from the server to let the Arduino know if a meeting had finished, or if another meeting had started. We opted for the server to send data over to the Arduino every minute as this would also allow us to have a timer displayed on the LED matrix.
This was an incredibly interesting experimental project, and was a great chance to use a myriad of technology and solutions to provide the finished result. While we were working our way through the dev work, Adam was still tinkering away with the designs to create something awesome to house and highlight the finished product.
Updating the model and getting it printed
Adam Thoms – Back on the internet, we searched through the options available to us. Via a website called 3DHubs we managed to find Alkaios; a student studying for his PhD in Additive Manufacturing and owner of a 3D printer. Generously he looked over our digital 3D model and gave us some excellent advice.
We took his feedback on-board and streamlined the model with a version 2.0. Originally we planned to print the base in two parts, (as it exceeded the 200mm limit most 3D printers have), the design utilised extruded ‘pins’ to clip back together.
Alkaios informed us how this would likely cause problems with the print. Rearchitecting the box so everything fell within the interior, such as the wall mounted clasps, we managed to get the length under 200mm while still having space for the long LED board.
Additionally, gone was the cylindrical hinge, in favour of a much more refined and print-efficient ‘plug’ shape to keep the lid securely in place.
Alkaios prepared his machine to print our new model. He started with the lid, the first of two items that made up the box. All went well, we received a photo of our newly created ABS plastic lid (and apparently it only took 4 hours!)
Sadly, the good luck wasn’t to last, part two was the much bigger bottom item. Due to the large size of the box, specifically the amount of space it takes up on the bed, as the printer layered up the model’s height it was cooling down at different rates, creating a warping effect in the structure.
After a couple more attempts of failed prints, there was one more option left. Hitherto we had been attempting to print with a plastic filament called ABS, we decided to try another called PLA, boasting a better reputation with cooling rate consistency. The change in material worked out and Alkaios was able to successfully print the model!
For version 2.0
GL – After playing and testing the system, it seems to work well, as long as a meeting is added to the shared calendar Alexa can tell you who is in the meeting room and how long the meeting will last. However, if we have the opportunity to work on a v2 of this project there are a few change/upgrades which I believe would make it more effective.
Upgrading Alexa Skills: First I think it would be great to add more functionality to the Alexa skill, one major feature I would have liked to add was the ability to book the room via voice commands. This would allow Alexa to update the offices shared calendar, simply by giving a name and an amount of time.
Upgrading the Hardware: I also think there is room to improve the hardware used too. I think if we added two small laser tripwires to each side of the meeting room door we would be able to count how many people are in the room.
We would then be able to check every time a meeting is supposed to finish how many people are still in the room. If there are people still in there we would be able to update the LED screen with something like “MEETING OVERUN” and would be able to update the shared calendar.
AT – Looking at the newly printed box, resplendent in its roughly hewn yellow plastic form, I was tempted to call it finished and wrap up the project. Perhaps ironically, due to the warts and all nature of 3D Printing, this did grant it a certain handcrafted charm. But being a Graphic Designer at heart, working for a company with clear branding and consist internal/external documentation, there was one last step.
To finish, I filed and sanded any excess material off the model. Once this was done, it had a coat of primer, followed by several layers of spray paint in a somewhat familiar red colour! Once dry, we took Giulio’s hardware setup and placed it inside the box.
It's a wrap!
Now we’ve got Alexa introduced to the rest of the office and our little LED matrix displaying calendar information, we’re eager to see how it all works out. Full video here.
We’ll keep you updated!
Hopefully you enjoyed reading about this project as much as we did making it. Do you had any ideas for Alexa? Would you’ve done things differently? Tweet us @matchboxmobile, we’d love to hear your suggestions!
- Bluetooth Developer Studio
- 3D Printing
- Windows IoT Core
- Amazon Echo
- Raspberry Pi 2
- LED Matrix