Demo gateway Linux nhận dữ liệu cảm biến từ FIFO simulator, ghi xuống kernel character device, rồi trả dữ liệu mới nhất qua TCP endpoint.
simulator/sensor_simulator.c ghi packet cảm biến vào /tmp/sensor_fifo
gateway/gateway_daemon.c đọc FIFO, cập nhật /dev/my_sensor, phục vụ TCP
kernel/my_sensor_driver.c character driver hỗ trợ read, write, ioctl, sysfs
sensorctl/sensorctl.c CLI đọc ioctl/sysfs và cập nhật ngưỡng nhiệt độ
systemd/sensor-gateway.service service unit cho gateway daemon
Cài compiler và kernel headers đúng với kernel đang chạy:
sudo apt install build-essential linux-headers-$(uname -r)Build các tool user-space:
make allBuild và load kernel module:
make kernel
sudo insmod kernel/my_sensor_driver.koChạy simulator:
./simulator/sensor_simulatorChạy gateway:
./gateway/gateway_daemonĐọc dữ liệu bằng CLI:
./sensorctl/sensorctl get
./sensorctl/sensorctl set-threshold 38
./sensorctl/sensorctl sysfsGọi TCP endpoint:
echo get | nc localhost 8888Đọc trực tiếp từ driver:
cat /dev/my_sensormake install
sudo systemctl start sensor-gateway
sudo systemctl status sensor-gateway
journalctl -u sensor-gateway -fmake clean
sudo rmmod my_sensor_driver