Profile img

Juan

@juanjin@hackers.pub · 3 following · 2 followers

Zephyr RTOS NuttX RTOS ESP-IDF conan.io

Homepage
juanjin-dev.github.io/about

[IoT] Guide for IoT Beginners

Juan @juanjin@hackers.pub

This technical blog post provides a comprehensive overview of the Internet of Things (IoT), demystifying its core concepts and architecture. It explains how IoT bridges the physical and digital worlds through interconnected devices, gateways, service applications, and servers. The post emphasizes the importance of IoT for individuals, businesses, and society, highlighting its potential to enhance convenience, efficiency, and sustainability. The author explores essential IoT components, including end-devices, gateways, servers, and service applications, detailing their roles in sensing, transmitting, processing, and acting on data. It also addresses common misconceptions about IoT, clarifying that it extends beyond smart homes and involves multidisciplinary systems. The post further discusses network topologies like direct connections, hierarchical connections, and mesh networks, explaining their trade-offs in terms of power, scalability, and resilience. Additionally, the author delves into non-IP connection technologies, such as UART, CAN, IEEE 802.11, Bluetooth/BLE, LoRa, and GNSS, and application protocols like LoRaWAN, MAVLink, UAVCAN, NMEA/UBX, Thread, CoAP, MQTT, and LwM2M. The post also covers Firmware Update Over-The-Air (FUOTA) and IoT security, emphasizing the need for cryptographic foundations, secure communication, secure boot, and access control. The author concludes by calling for greater investment, education, and ecosystem building in IoT, particularly in South Korea, to catch up with global advancements. This post is valuable for anyone seeking a deeper understanding of IoT and its potential impact on various aspects of life and industry.

Read more →
1

[Learning Zephyr] 001. VS Code Settings

Juan @juanjin@hackers.pub

This post guides developers on setting up Visual Studio Code for Zephyr RTOS application development, starting with installing VS Code and creating an isolated development environment using profiles to avoid conflicts with other extensions. It covers essential extensions like C/C++, CMake Tools, and Serial Monitor, and provides step-by-step instructions for project setup, including creating necessary files and configuring CMake. The author explores different configuration methods, including using `settings.json` for automating build processes and debugging, `CMakePresets.json` for managing multiple build configurations, and `.code-workspace` for a more integrated environment. The post also includes practical examples, such as blinking PWM LEDs and implementing a custom device driver, demonstrating how to leverage VS Code for Zephyr development. By the end, readers will understand how to configure VS Code for efficient Zephyr application development, including building, flashing, and debugging.

Read more →
1

[Learning Zephyr] 000. Before Starting Zephyr

Juan @juanjin@hackers.pub

This post provides a streamlined guide to setting up a Zephyr real-time operating system (RTOS) development environment, offering an alternative approach to the official documentation. It begins with installing West, Zephyr's meta CLI tool, within a Python virtual environment, followed by downloading the kernel, SDKs, and necessary tools like CMake and the devicetree compiler. The guide then details the manual installation of the Zephyr SDK and building OpenOCD from source for debugging purposes. To ensure everything is set up correctly, the post walks through building and flashing a sample "blinky" application using CMake and OpenOCD. By offering a practical, hands-on approach, this guide helps developers quickly get started with Zephyr RTOS development.

Read more →
1

About

Juan @juanjin@hackers.pub

This post introduces Juan Jin, a programmer from South Korea with expertise in C, C++, Python, C#, and TypeScript. Jin's skills extend to platforms, libraries, and frameworks such as STM32CubeMX, ESP-IDF, FreeRTOS, Zephyr RTOS, and more. The author showcases personal projects like "Black Magic," a C macro metaprogramming research endeavor, and contributions to open-source projects like "Net for Dumbass" and "zpmgr." The post also details Jin's extensive work history, including roles at Bitbus, People-i, and other companies, where he developed diverse applications ranging from agricultural smart waterstream projects to military defense systems and IoT solutions. This overview highlights Jin's broad experience and technical capabilities, making it a valuable resource for those interested in embedded systems, IoT, and software development.

Read more →
5