项目描述
翻译我们有基于ESP32模块的现成硬件,需要一个嵌入式固件开发人员将其带入工作状态。该板读取多个传感器(温度、湿度和电流分流器),通过继电器和小型电机驱动器控制几个执行器,并且只有在真正需要时才会唤醒。目前我们只有一个闪烁LED的原型,别无其他,因此我们需要从头开始编写整个嵌入式层。我们正在寻找一个实际上已经将设备交付到现场的人,而不仅仅是在面包板上运行示例,因为该单元将独立在电池上工作数月。
固件必须按计划轮询传感器,应用简单的校准和阈值,并在本地控制执行器,以便即使网络中断,设备也能继续工作。我们需要WiFi连接,BLE用于从智能手机进行初始设置,之后通过MQTT或HTTPS以小的JSON数据包将遥测发送到我们的服务器。可靠性对我们至关重要:重连逻辑、看门狗定时器、在电源下降期间的安全行为,以及一个干净的状态机,而不是一个庞大的循环。空中更新是强制性的,如果新固件无法加载,则回滚到先前的映像,因为我们无法物理到达每个设备。
我们最担心的是电源管理。设备大部分时间处于深度睡眠状态,通过定时器或外部中断唤醒,因此测量和最小化睡眠电流、正确关闭外设电源以及干净地处理唤醒原因非常重要。请展示您嵌入式工作的示例,告诉我们您喜欢使用哪些工具(ESP-IDF或Arduino核心),以及您如何在发布前测试固件。干净的注释C或C++代码以及闪存和配置单元的简短说明是结果的一部分。
我们对完成工作的期望:
— 带有校准和本地阈值的传感器读取;
— 安全的离线机制控制;
— 可靠的WiFi和BLE连接;
— 以文档格式通过MQTT或HTTPS发送的遥测;
— 带有回滚的空中更新;
— 带有深度睡眠和测量电流的电源管理。
其他 / 杂项 现金, 银行转账