当前位置: 首页 > news >正文

品牌网站建设策企业网站的基本内容有哪些

品牌网站建设策,企业网站的基本内容有哪些,上海vi设计公司有哪些,免费建学校网站文章目录 硬件接线 软件STM32CubeMX配置 rosserial移植上位机订阅-下位机发布上位机订阅下位机发布通信 上位机发布-下位机订阅上位机发布下位机订阅通信 硬件 STM32F103c8t6OLED(I2C)USB2TTLStlink 接线 OLED(GPIO模拟I2C) 硬件引脚OLEDSCLPA4OLEDSDAPA5 USART1 硬件引脚… 文章目录 硬件接线 软件STM32CubeMX配置 rosserial移植上位机订阅-下位机发布上位机订阅下位机发布通信 上位机发布-下位机订阅上位机发布下位机订阅通信 硬件 STM32F103c8t6OLED(I2C)USB2TTLStlink 接线 OLED(GPIO模拟I2C) 硬件引脚OLEDSCLPA4OLEDSDAPA5 USART1 硬件引脚作用RXPA9USART1_TXTXPA10USART1_RX LED 硬件引脚LED0PC13LED1PC15 软件 STM32CubeMXClion STM32CubeMX配置 SYS-Debug-Serial WireRCC-HSE-Crystal/Ceramic ResonatorPC15-OutPut ,Label为LED0PC13-OutPut ,Label为LED1TIM1-Clock Source-Internal Clock时钟树时钟设置为72MUSART1-Asynchronous Baud Rate: 115200 设置DMA 开启串口中断 rosserial rosserial是ROS中的一个重要模块,它实现了ROS通信协议与各类嵌入式硬件平台之间的桥接,大大简化了ROS在底层硬件上的移植和应用。rosserial通过消息序列化和常用串行通信接口,实现了ROS主机和嵌入式客户端之间的消息交互,为各种嵌入式平台提供了C和Python的ROS客户端库,使得在这些硬件上也能方便地使用ROS的通信架构来进行节点管理、话题通信和服务调用。rosserial还支持动态主题和服务,以较小的代码占用实现ROS功能,具有很强的可移植性。因此,rosserial是ROS物联网和机器人应用不可或缺的重要组件,极大地便利了ROS在各类嵌入式系统和小型机器人产品上的移植应用和开发。 rosserial_WIKI rosserial_stm32 Github地址 本文资源包stm32f103c8t6_rosserial CSDN资源下载 移植 下载上述资源stm32f103c8t6_rosserial git clone https://github.com/GHigher12/STM32f103c8t6_rosserial.gitor 直接在CSDN下载 将RosLibs文件夹添加到stm32工作文件里 还有Core文件夹中的mainpp.h , round.h, mainpp.cpp 此时如果用Clion作为开发环境还需要修改CMakeList.txt 包含文件的路径 main.c使用 //... #include mainpp.h //... int main(void) { //...setup();while (1){loop();}/* USER CODE END 3 */ }上位机订阅-下位机发布 上位机订阅 python订阅 demo01_sub_py.py #! /usr/bin/env python import rospy from std_msgs.msg import Stringif __name__ __main__:rospy.init_node(ros_pc_pub)pub rospy.Publisher(pc_to_stm32,String,queue_size10)msg String()msg_front ros_2_stm32-count 0rate rospy.Rate(1)while not rospy.is_shutdown():msg.data msg_front str(count)pub.publish(msg)rate.sleep()rospy.loginfo(发布的数据为:%s,msg.data)count 1c订阅 demo01_sub_c.cpp #include ros/ros.h #include std_msgs/String.h #include sstreamvoid doMsg(const std_msgs::String::ConstPtr msg) {ROS_INFO(订阅的数据为: %s, msg-data.c_str()); }int main(int argc, char *argv[]) {setlocale(LC_ALL,);ros::init(argc, argv, ros_pc_sub);ros::NodeHandle nh;ros::Subscriber sub nh.subscribe(stm32_to_pc, 10, doMsg);ros::spin();return 0; }安装rosserial_python sudo apt-get install ros-noetic-rosserial-python下位机发布 mainpp.cpp #include mainpp.h #include ros.h #include std_msgs/String.h #include main.hros::NodeHandle nh;std_msgs::String stm32_to_pc_word;ros::Publisher stm32_to_pc(stm32_to_pc, stm32_to_pc_word);void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart){nh.getHardware()-flush(); }void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){nh.getHardware()-reset_rbuf(); } char hello[13] hello ros!; u8 cnt 0; void setup(void) {nh.initNode();nh.advertise(stm32_to_pc); }void loop(void) {cnt1;sprintf(oledBuf,stm32_2_ros-%d,cnt);OLED_ShowString(0,24,(u8*)oledBuf,16);OLED_Refresh();stm32_to_pc_word.data oledBuf;HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);HAL_Delay(1000);stm32_to_pc.publish(stm32_to_pc_word);nh.spinOnce(); }编译将程序烧录到stm32中 通信 将usb2ttl连接好usart1连接电脑 执行下列命令 lsusb ls /dev/ttyUSB* sudo chmod 777 /dev/ttyUSB0启动rosserial_python节点 roscore rosrun rosserial_python serial_node.py _port:/dev/ttyUSB0 _baud:115200出现以下内容则表示运行正常 [INFO] [1690446448.903399]: ROS Serial Python Node [INFO] [1690446448.908570]: Connecting to /dev/ttyUSB0 at 115200 baud [INFO] [1690446451.013146]: Requesting topics... [INFO] [1690446451.772474]: Note: publish buffer size is 512 bytes [INFO] [1690446451.774498]: Setup publisher on stm32_to_pc [std_msgs/String]可使用rostopic echo /stm32_to_pc查看话题 不过这里会出现[ERROR] [1690446652.290474]: Lost sync with device, restarting...报错导致收发频率不一致博主现在还没解决如有读者有解决办法可在评论留言。 python订阅 cd ~/catkin_ws source ./devel/setup.bash rosrun hello_vscode demo01_sub_py.pyc订阅 cd ~/catkin_ws source ./devel/setup.bash rosrun hello_vscode demo01_sub_c下位机显示 查看rqt_graph 上位机发布-下位机订阅 上位机发布 python发布 demo01_pub_py.py #! /usr/bin/env python import rospy from std_msgs.msg import Stringif __name__ __main__:rospy.init_node(ros_pc_pub)pub rospy.Publisher(pc_to_stm32,String,queue_size10)msg String()msg_front ros_2_stm32-count 0rate rospy.Rate(1)while not rospy.is_shutdown():msg.data msg_front str(count)pub.publish(msg)rate.sleep()rospy.loginfo(发布的数据为:%s,msg.data)count 1c发布 demo01_pub_c.cpp #include ros/ros.h #include std_msgs/String.h #include sstream int main(int argc, char *argv[]) {setlocale(LC_ALL,);ros::init(argc, argv, ros_pc_pub);ros::NodeHandle nh;ros::Publisher pub nh.advertisestd_msgs::String(pc_to_stm32, 10);std_msgs::String msg;ros::Rate rate(1);int count 0;ros::Duration(3).sleep();while (ros::ok){count;std::stringstream ss;ss ros_2_stm32- count;msg.data ss.str();pub.publish(msg);ROS_INFO(发布的数据为: %s, ss.str().c_str());rate.sleep();ros::spinOnce(); //处理回调函数}return 0; }下位机订阅 mainpp.cpp #include mainpp.h #include ros.h #include std_msgs/String.h #include main.h void command_callback( const std_msgs::String rxbuff);ros::NodeHandle nh;std_msgs::String stm32_to_pc_word;ros::Subscriberstd_msgs::String cmd_sub(pc_to_stm32, command_callback);void command_callback(const std_msgs::String rxbuff) {char oled_rxbuff[128];stm32_to_pc_word rxbuff;snprintf(oled_rxbuff, sizeof(oled_rxbuff), %s, rxbuff.data);OLED_ShowString(0,24, (u8*)oled_rxbuff,16);OLED_Refresh(); } void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart){nh.getHardware()-flush(); }void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){nh.getHardware()-reset_rbuf(); } void setup(void) {nh.initNode();nh.subscribe(cmd_sub); }void loop(void) {HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);HAL_Delay(1000);nh.spinOnce(); } 通信 python发布 rosrun hello_vscode demo01_pub_py.pyc发布 rosrun hello_vscode demo01_pub_c下位机显示 查看rqt_graph
http://www.yutouwan.com/news/467908/

相关文章:

  • 如何提高网站收录数无忧网站建设
  • 网站做行业认证好处广告联盟代理平台
  • 企业网站建设是什么实现的物质基础和技术支撑网站建设工作室怎么开
  • 建设公司网站大概需要多少钱济南百度推广电话
  • 云空间布置网站国外大型购物网站
  • 加强机构编制网站建设力度宣威网站
  • 上海什么做网站的公司比较好成都画册设计的公司
  • 设计用哪些网站有哪些功能弄个app要花多少钱
  • 阿里云怎么建设网站衡阳关键词优化首选
  • 兰州做网站的有哪几个学网站建设 去哪里
  • 免费外贸自建网站wordpress页面加载耗时代码
  • 城建道桥建设集团网站wordpress不同分类调用不同文章
  • dw制作网页模板百度网站推广优化工具
  • 安徽富通建设集团有限公司网站推广普通话的广告语
  • 湖州网站建设服务小游戏网站
  • 嘉兴平湖网站建设网站本地环境搭建
  • 如何在学校网站上做链接威海城乡建设局网站首页
  • 网站改版要改哪些页面设置自己的网站
  • 零基础网站开发设计个体工商户做的网站能推广吗
  • 上传网站步骤wordpress占用服务器内存
  • 做局域网网站wordpress社交分享非插件
  • 免费个人网站自助建设云虚拟主机搭建wordpress
  • pc网站转换成微网站购物网站建设计划书
  • 做网站需要怎么样的服务器建设一个地方门户网站
  • 做智能网站系统下载西安月子中心网站制作
  • 2_ 如何写一份详细的网站开发方案成都房产网最新楼盘
  • 建设小网站教程淘宝seo优化怎么做
  • 网站flash引导页下载网易公司邮箱
  • 教育网站如何做seo网站建设对教育解决方案
  • 网站内部资源推广方法云建站公司