Lập trình viên Firmware IoT có kinh nghiệm để tham gia vào đội ngũ R&D. Bạn sẽ chịu trách nhiệm chính trong việc thiết kế, phát triển, và bảo trì firmware cho các thiết bị IoT của công ty, hoạt động trên nền tảng phần cứng ESP32, sử dụng ngôn ngữ C++ với framework ESP-IDF và hệ điều hành thời gian thực FreeRTOS.
Nhiệm vụ chính:
Phát triển Firmware: Thiết kế, lập trình và triển khai firmware ổn định, hiệu quả và an toàn cho các thiết bị IoT dựa trên vi điều khiển ESP32.
Làm việc với ESP-IDF & FreeRTOS: Sử dụng thành thạo framework ESP-IDF và các khái niệm của hệ điều hành thời gian thực FreeRTOS (Tasks, Queues, Semaphores, Mutexes) để xây dựng các ứng dụng đa luồng phức tạp.
Lập trình C++: Áp dụng các kỹ năng lập trình C++ hiện đại (C++11/14/17) và các nguyên tắc lập trình hướng đối tượng (OOP) để xây dựng mã nguồn có cấu trúc tốt, dễ bảo trì và mở rộng.
Tích hợp phần cứng: Làm việc với các giao thức ngoại vi như UART, SPI, I2C để tích hợp và điều khiển các loại cảm biến (sensors), cơ cấu chấp hành (actuators), và các module khác (GPS, 4G, NB-IoT,...).
Kết nối không dây: Triển khai và tối ưu hóa các giao thức truyền thông không dây như Wi-Fi, Bluetooth Low Energy (BLE).
Tối ưu hóa: Tối ưu hóa mã nguồn về hiệu năng, quản lý bộ nhớ (memory optimization) và đặc biệt là mức tiêu thụ năng lượng (power consumption) để kéo dài thời gian hoạt động của thiết bị dùng pin.
Kiểm thử và Gỡ lỗi: Xây dựng Unit Test, thực hiện kiểm thử tích hợp, sử dụng các công cụ debug để tìm và sửa lỗi, đảm bảo firmware hoạt động ổn định.
Hợp tác và Tài liệu:
Phối hợp chặt chẽ với đội ngũ
kỹ sư phần cứng để đọc hiểu sơ đồ mạch (schematic), datasheet và đảm bảo firmware tương thích tối ưu.
Hợp tác với đội ngũ Backend/Cloud và Mobile để xây dựng các giao thức giao tiếp (ví dụ: MQTT, HTTP) và quy trình hoạt động end-to-end.
Viết tài liệu kỹ thuật rõ ràng cho sản phẩm.