亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Never Ride Alone:骑行安全守护神——基于 Sigfox 的智能自行车报警器

组件与物料

组件数量
5mm 红色 LED2
u-blox NEO-6M GPS 模块1
Arduino MKR Fox 12001
3.7V 锂电池 (150mAh)1
蜂鸣器1
12mm 轻触开关1
拨码开关1
1kΩ 电阻1
Seeed Grove 震动传感器 (SW-420)1

所需工具

项目背景

作者 Jesús Soriano 是电子工程学生兼骑行爱好者。独自骑行训练时常担心:若发生严重摔车昏迷在无人山区,手机无信号、电量耗尽,求救无门。现有方案 (Strava Summit、Specialized ANGi) 均依赖蜂窝网络,不适合深山环境。

发现 Sigfox 低功耗广域网 (LPWAN) 覆盖广、无需手机信号,且 Arduino MKR Fox 1200 集成 Sigfox 模块,遂诞生 Never Ride Alone (NRA)。

工作模式:倒计时报警器

  1. 出发前按键激活,双 LED 闪烁 (兼具警示后车)
  2. 震动传感器监测运动;连续 30 秒无运动 → 进入紧急模式
  3. 蜂鸣器鸣响,若用户未手动取消 (按键) → 判定受伤
  4. GPS 定位 → 经 Sigfox 发送经纬度高程 → 后台解析 → 邮件推送 Google Maps 链接给预设联系人

硬件集成

Sigfox 后台配置

  1. 在 Sigfox Backend 注册设备,设置 Custom Callback
  2. Payload 解析格式:lat::float:32 lon::float:32 alt::float:32 (12 字节)
  3. Callback URL 指向自建服务器或邮件网关,解析后发送含 Google Maps 链接的报警邮件

实测表现

道路测试信号良好,定位精度满足应急需求。设备仅需“按键+骑行”,训练结束关机充电,极简交互符合骑行者需求。

环保行动

团队骑行测试期间捡拾路边垃圾,发现多为能量胶包装、轮胎碎片。倡导赛事设置“清洁补给站”,骑行者不停车即可投放垃圾,赛后统一清理,践行可持续发展目标 (SDGs)。

核心固件 (定时上报版)

// NEVER RIDE ALONE V.0.1 - 定时发送 GPS 坐标
#include <SigFox.h> #include <ArduinoLowPower.h> #include <TinyGPS.h>
#define WAITING_TIME 10  // 分钟
#define GPS_PIN 2
#define GPS_INFO_BUFFER_SIZE 128

bool debug = true;
const int backlights = 4, pulsador = 5, audio = 3;
TinyGPS gps;

struct gpscoord { float a_latitude; float a_longitude; float a_altitude; };
float latitude, longitude, altitud;

void Wait(int m, bool slow) { /* LED 慢闪/快闪等待 m 分钟 */ }
String ConvertGPSdata(const void* data, uint8_t len) { /* 结构体转十六进制字符串 */ }

String GetGPSpositon() {
  digitalWrite(GPS_PIN, HIGH); Wait(1, false); // GPS 预热 1 分钟
  int messages_count = 0;
  while (messages_count < 5000) {
    while (Serial1.available()) {
      char c = Serial1.read();
      if (c == '$') messages_count++;
      if (gps.encode(c)) {
        gps.f_get_position(&latitude, &longitude);
        altitud = gps.altitude() / 100;
        gpscoord coords = {altitud, longitude, latitude};
        digitalWrite(GPS_PIN, LOW);
        return ConvertGPSdata(&coords, sizeof(gpscoord));
      }
    }
  }
  digitalWrite(GPS_PIN, LOW);
  return "No Signal";
}

void SendSigfox(String data) { /* Sigfox 发送流程 */ }

void setup() {
  pinMode(backlights, OUTPUT); pinMode(pulsador, INPUT); pinMode(audio, OUTPUT);
  if (debug) { Serial.begin(9600); while(!Serial); }
  Serial1.begin(9600); while(!Serial1);
  pinMode(GPS_PIN, OUTPUT);
  if (!SigFox.begin()) return;
  if (debug) SigFox.debug(); else SigFox.end();
}

void loop() {
  String pos = GetGPSpositon();
  SendSigfox(pos);
  Wait(WAITING_TIME, false);
}

完整代码、3D 外壳文件 (nra_v_0_1_qCsc7I6QvO.zip)、原理图见项目附件。

制造工艺

  1. 集成电路 (IC):微观世界里的算力引擎与制造极限
  2. Arduino 数字骰子:LCD 显示随机点数的电子骰子
  3. 多位置温度传感器系统,助力智能家居集成
  4. DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
  5. 自制 16×8 LED 矩阵俄罗斯方块游戏机:Arduino Nano + 74HC595 驱动
  6. MotionSense:基于 Arduino 与 ESP8266 的智能入侵检测系统
  7. Arduino MKR IoT 套件打造智能密码盒:Blynk 远程设密、舵机开锁
  8. 自制自主啤酒运输坦克:Walabot + Arduino + 树莓派 + Alexa语音控制
  9. MOSMusic 套件:MOSFET + Arduino 打造音乐同步灯光控制系统
  10. 钻床核心部件解析:从底座到主轴的完整拆解
  11. 内燃机核心零部件详解
  12. 掌握 C# switch 语句:语法、示例与最佳实践