最近设计智能门锁,忽然发现,其实生产环节中也是需要一个自动化录入环节的工位。
典型的需求
- 从MCU读取唯一序列号UID;
- 以此为基础,推导出SNR/deviceR/W Key;
- 从设备云处获得deviceId和deviceKey;
- 把配置信息写回到设备的NVM中,或者合并固件下载。
- 连接面单打印机,打印序列号、激活二维码、注册二维码;
- 人工贴上贴纸。
由于与设备相关连,所以需要为工厂定制。需要工作可以优化。
优化步骤
从MCU读取唯一序列号可以通过SWD/JTAG来读取芯片ID。万一不是芯片没有UID,则需要根据厂家需求将UID和固件进行合并后,通过Bootloader下载到芯片中。
设备云的参数,如域名、IP、端口、deviceId/deviceKey需要预先在设备云中下载,并批量存储在CSV文档中。
部分参数可以通过固件合并后,下载到MCU中。一些个性化的固件,需要MCU固件下载后,与系统通讯后,下载到EEPROM中去。也可以将所有初始参数固化在ROM中,然后设备上电复位后,自行联网更新。
硬件接口
- 面单打印机,USB驱动;
- 测试针接口;
- JTAG/SWD调试器,带串口;
- 桌面软件,或类似Linux盒子,用于连接云端服务,合并固件,下载固件,焊接测试,记录等任务。
由于固件下载可以由JTAG/SWD或者串口Bootloader两种方式来实现,所以两者只需要使用一种方式即可。
服务费用
该软件可以帮助开发者节省人力,且主要成本是软件定制成本。所以许可证费用基本上就在两者之和。