I play basketball regularly and I watch NBA games when I have time.
Challenge: Can you think of a much easier and more convenient way to order a taxi?
Here in JapanTaxi, we do not just try to cope up with the latest transport network trends. We innovate and try to be ahead of the market. But sometimes we do things for fun too. One way of demonstrating our capabilities is by joining fairs and events to showcase our products and services. One of the biggest fairs last year was the Maker Faire Tokyo held at Tokyo Big Sight on August 5 and 6. Maker Faire holds yearly events in some of the biggest cities in the world including Tokyo. At Maker Faire, enthusiasts, garage tinkerers, scientists and tech companies setup their own booths and display their inventions, latest products and services.
Before we delve into the device technical details, let me first introduce the team responsible for developing the device:
The team in-charge: System Design Team
The System Design team is responsible for developing IoT solutions and services needed by the company. In this particular instance, the whole team reviews the design, gives feedback, checks the schedule and maintains the overall status of the project.
The designer: Yuko
She is responsible for drawing the physical design of the device. She was very eager to work in this project even if it was her first time designing a physical product. She mostly does app design and product branding for the company.
The hardware engineer: Kohei
He is responsible for the circuit design and even converted digitally the physical design of the device. He is actually from the Hardware Team and usually develops the hardware needed in the taxi.
The software engineer: yours truly
I am responsible for the design and implementation of the software-side of the device. Most of the time, I develop IoT-related solutions for the company. This was my first time writing a firmware and I had a lot of fun doing it.
The top honchos in the company wanted to develop the easiest, most convenient way to call a taxi. Is there anything easier than ordering a taxi through a mobile app at the comfort of your home? Well, how about ordering a taxi with just a single push of a button? And thus Taxi Remocon was conceptualized. A dedicated device that looks like a TV remote control but with only two buttons and a few set of LEDs. With just one click, you can either order a taxi or cancel your order.
The initial concept of the button was much like AWS Dash Button. Yuko did not think that a single-button control would be sufficient enough for our use-case. So she came up with a few design iterations and tested each UX before finally deciding on the best design. The final version consists of two buttons, one for ordering a taxi and the other for canceling the order. The LEDs are there to show the status of the device and of your order. They even tell you how many minutes are left before the taxi arrives!
Kohei chose ESP32 chipset as a standalone system for the device. The chipset is perfect for our use-case because of its ultra-low power consumption and its embedded Wi-Fi and Bluetooth modules. The other IO components of the device are the two switches acting as buttons for input and ten LEDs for displaying device status as output. The chipset also supports power-saving modes, light sleep and deep sleep, so power consumption can be lowered further. The device is powered by 2 AAA batteries and is estimated to last for at least one year. This is achieved by putting the device to deep sleep when there are no active orders. The device wakes up if any of its buttons are pressed.
The Software Architecture
Much like a TV remote control where you press the button and let the TV handle the event, the device only serves to handle IO events and does not contain any business logics. The business logic is handled remotely through AWS-IoT cloud service. This intentional design allows for faster hotfix, bugfix and feature deployment. There is no need for frequent firmware updates. As users, we tend to view firmware upgrades as troublesome and time consuming process.
The entire order event sequence can be summarized below:
1. Order button is pressed.
2. Order event is sent to AWS through its AWS Thing Shadow messaging service.
3. AWS passes the event to Lambda function which, in turn, requests Jtx server to order a taxi.
4. Taxi accepts the order.
5. The response is propagated back to the device in reverse order and displays the result.
It was epic!! Over the weekend more than 20,000 people attended Maker Faire and a chunk of them came by our booth! Unfortunately, there were some challenges at the beginning with ordering the demo taxi unit which we also brought to the exhibit. We failed to account the GPS signal inside the building. Nevertheless it did not prevent us from interacting with the attendees and explaining about the product, who we are and what we do as a tech-innovation start-up. It was a huge success!
All in all, we had a great time all throughout the project development, starting from the product design to Maker Faire exhibit. I hope we will have an opportunity to make it as a commercial product in the near future.