•熟悉C/C++开发,掌握指针、链表、栈和队列以及排序查找算法,内存管理;熟悉类和对象,继承和多态;
•熟悉Linux、FreeRTOS操作系统,熟悉Linux常用命令,了解gcc、make命令,了解进程线程间管理及通信;
•熟悉STM32系列单片机驱动开发,了解各种硬件接口和外设,如UART、SPI、I2C等;
•熟悉Zigbee协议栈,了解协议结构层次,能开发基于Zigbee的应用程序,包括设备初始化、消息发送接收等。
•熟悉Qt开发,了解信号与槽机制、IO口操作、串口通信和TCP/IP通信;
•熟练使用常用的嵌入式开发工具和硬件平台,如Keil、STM32CubeMX、IAR、Ubutun;
•熟练使用Altium Designer软件,能够进行电路原理图和PCB板绘制;
•熟练使用Git管理代码,熟悉git 命令,能够进行代码更新,分支合并、冲突解决等;
内容:将DS18B20采集到的温度上传值云端,并在OLED屏上显示消息,用 STM32串口发送 AT 指令至 ESP8266,选用阿里云 MQTT 协议,此协议是基于客户端-服务器的消息发布/订阅传输,实现阿里云服务器和 ESP8266的数据同步,并且可以通过在云端发布指令,控制电机开关。
问题解决:由于 ESP8266是通过 STM32串口发送指令,同时进行温度数据传输和开关控制,需重复调用串口,采用裸机编程可能会出现调用失败和乱码的问题,将 FreeRTOS 操作系统移植到 STM32单片机中,为每个任务设置优先级,采用互斥量或事件等避免调用冲突,便于程序管理。
成果:编写嵌入式控制系统程序,实现对产品的远程监控和控制。对嵌入式系统进行了硬件和软件调试,排除了产品出现的故障。采用 IOT Studio 阿里云物理模型,发布 Web 应用,在网页端查看实时温度,并实现开关控制。
将DS18B20采集到的温度上传值云端,并在OLED屏上显示消息,用 STM32串口发送 AT 指令至 ESP8266,选用阿里云 MQTT 协议,此协议是基于客户端-服务器的消息发布/订阅传输,实现阿里云服务器和 ESP8266的数据同步,并且可以通过在云端发布指令,控制电机开
1.采用STM32F103芯片进行计算和信号分析,并将控制信号发给执行部件,球形机器人达到指定位置后,通过姿态监测传感器将末端信号传输到微型处理器上,从而进行反馈控制。 2.通过输出PWM信号控制方向舵机,选择ULN2003作为步进电机驱动,编写MPU6050陀螺仪驱动程序,进
1.采用STM32F103芯片进行计算和信号分析,并将控制信号发给执行部件,球形机器人达到指定位置后,通过姿态监测传感器将末端信号传输到微型处理器上,从而进行反馈控制。 2.通过输出PWM信号控制方向舵机,选择ULN2003作为步进电机驱动,编写MPU6050陀螺仪驱动程序,进