Friday, April 19, 2024

DIY In-Car Infotainment using affordable COTS Hardware


Ever considered creating your own in-car entertainment system, akin to those found on airplanes? Envision a setup with individual touch displays for each passenger, ensuring an uninterrupted multimedia experience even when driving through areas lacking internet connectivity. Imagine a system that seamlessly accommodates both individual and communal content playback. What if such a system were not only affordable but also straightforward to build, utilizing open-source software and readily available off-the-shelf hardware?

In my GitHub repo, I'll guide you through a step-by-step process to construct such a system at an affordable cost, ranging from $180 to $200 per passenger touch screen. The key components of this setup includes a Power over Ethernet (PoE) switch, a pocket router serving as a DLNA/DHCP server, and multiple Raspberry Pi 4 boards paired with touch displays—adjustable based on the desired number of passenger screens.

By utilizing a Kodi player on RaspberryPi-4 coupled with a full HD touch screen and powered through a single Ethernet cable, we streamline cabling complexities in a car. This eliminates the need for a central multi-head controller, as the heavy lifting, such as multimedia decoding and rendering, is handled by individual Raspberry Pi 4 endpoints on a network. This distributed system is effortlessly scalable, requiring only the replacement of the PoE switch with more ports and the addition of more Raspberry Pi 4 touch displays. You can find the details here on my github repo: https://github.com/hackboxguy/multiscreen-media

Tuesday, April 16, 2024

Fun with AWS-IoT


While the internet is flooded with hello-world examples and simulations demonstrating the connection and message exchange between AWS-IoT Devices and Aws-Iot-Core using various programming languages like Python, C, C++, and Java, However, some of us beginners, students, or enthusiasts find true satisfaction in delving into the world of connected devices through hands-on interactions with physical components. For them, the real excitement lies in experiencing the tangible effects firsthand, rather than merely observing basic hello-world messages on a computer screen.

In this video, I'll introduce you to an engaging approach for exploring AWS-IoT connectivity and its real-world implications using affordable and readily available hardware components sourced from online stores. For this demonstration, I'll be utilizing an affordable($30) GL.iNet pocket router as an IoT End-Node. This router runs on a custom-built OpenWRT Linux image and hosts an AWS IoT device agent service based on the aws-iot-device-sdk-cpp-v2. The webUI of this custom Linux image allows you to easily configure and provision AWS IoT-specific settings such as device-certificates/private-keys/Endpoints. Additionally, through the WebUI, you can tailor various trigger events for specific publish/subscribe topics and execute diverse actions using custom scripts to control a range of hardware accessories including switches, relays, LEDs, sensors, and more.

For further details and access to the project, please visit my GitHub repository at: https://github.com/hackboxguy/aws-iot-demo

Sunday, March 10, 2024

Transforming Your GL-MT300N-V2 Pocket Router into a DLNA Multimedia Server









In this guide, we'll walk you through a straightforward process to convert your GL-MT300N-V2 pocket router into a DLNA server, allowing it to function as a versatile media server.

  1. Download openwrt based Custom Firmware:
  2. Flash the Custom Firmware:
    • Replace the OEM firmware on your GL-MT300N-V2 pocket router with the custom gl-mt300nv2-dlnasrv.bin file
  3. Prepare Your Media Disk:
    • Format a USB Pendrive or USB disk as NTFS formatted disk(and copy all your media files to this disk under Audio/Video/Photo folders)
  4. Power-On:
    • Attach the media disk to the USB port of the pocket router
    • Power ON the pocket router with a +5V DC power source
  5. Wifi Connection:
    • After boot-up, the pocket router will appear as a Wi-Fi hotspot with the SSID/Key: dlnaserver/goodlife
  6. Install VLC Player:
    • Install VLC Player on your smartphone or tablet
  7. Connect to the DLNA Server:
    • Connect your smartphone or tablet to the pocket router's Wi-Fi hotspot (dlnaserver/goodlife).
  8. Access and Play Media Files:
    • Open VLC Player on your smartphone or tablet and navigate to the Local Network section.
    • Look for the dlna-server(with an image of penguin), where you can browse and play all your media files seamlessly(on multiple devices).
For those with an extensive multimedia collection, consider integrating this compact DLNA Server into your car's infotainment system. Passengers can seamlessly access a wealth of local media files on their smartphones or tablets via a shared Wi-Fi access point, ensuring uninterrupted entertainment even during long drives through areas with inconsistent network coverage. The image above illustrates our setup: a pocket router, powered by a +12v to +5v DC power adapter, paired with a USB media drive. When activated, this configuration transforms into a Wi-Fi hotspot, facilitating file sharing through DLNA service for all your smart devices.

Following sequence of images show you the exact steps to get your $30 GL-MT300N-V2 device up and running in few minutes.

After following all the 16 slides,  last step is to connect your smartphone(or tablet) to a wifi hotspot named dlnaserver(password is goodlife) and invoke vlc-media-player app to search for multimedia files over local network.


To enhance the security of this setup,
it is strongly advised to modify the default webUI login password, Wi-Fi SSID and Wi-Fi password. The procedure for changing these settings is accessible through the standard web interface of the OpenWRT Firmware.

In conclusion, it's worth noting that all the software customization and changes featured in this blog are open source and accessible on my GitHub repository. Feel free to modify or enhance them further by following the provided build instructions. Let me know in the comments section, in case if you have feedback, questions or suggestions. Happy hacking!!