【自己動手做一臺SLAM導航機器人】附錄B:用于ROS機器人管理調度的后臺服務器搭建

本專欄目錄
前言
第一章:Linux基礎
第二章:ROS入門
第三章:感知與大腦
第四章:差分底盤設計
第五章:樹莓派3開發(fā)環(huán)境搭建
第六章:SLAM建圖與自主避障導航
第七章:語音交互與自然語言處理
附錄A:用于ROS機器人交互的Android手機APP開發(fā)
附錄B:用于ROS機器人管理調度的后臺服務器搭建
附錄C:如何選擇ROS機器人平臺進行SLAM導航入門
視頻教程
https://www.bilibili.com/video/BV1jS4y1a7Lz
centos7下部署Django后臺服務器用于ROS機器人管理調度:
nginx
uwsgi
django
python3

下面這本書是本篇文章的參考文獻,大家有需要可以入手一本:


0.安裝步驟預覽
(1)系統(tǒng)默認自帶python2.x,所以需要先安裝python3.x
(2)python2對應pip,python3對應pip3,用源碼安裝python3后pip3也自動安裝了
(3)用pip3安裝virtualenv
(4)用virtualenv創(chuàng)建python3的虛擬環(huán)境
(5)在創(chuàng)建的虛擬環(huán)境中,用pip3安裝Django和uwsgi
(6)安裝nginx
(7)創(chuàng)建django項目
(8)關聯(lián)nginx、uwsgi、django
注:使用root身份登錄系統(tǒng)執(zhí)行
1.編譯安裝python3
(1)依賴安裝
(2)編譯安裝
2.用pip3安裝virtualenv
3.用virtualenv創(chuàng)建python3的虛擬環(huán)境
4.在創(chuàng)建的虛擬環(huán)境中,用pip3安裝django和uwsgi
5.安裝nginx
6.創(chuàng)建一個django的項目
(1)新建項目
(2)新建應用
編輯應用中的views.py文件:
(3)測試
7.關聯(lián)nginx、uwsgi、django
(1)防火墻中相應端口開放,允許外網(wǎng)訪問
默認開放給外網(wǎng)http訪問的端口是80,所以需要在服務器的防火墻中允許80端口,不然外網(wǎng)的請求進不了服務器;
如果想開放給外網(wǎng)http訪問的端口是其他端口(如8080),依照下面的例子,在服務器的防火墻中允許該端口(8080),同時用步驟(2)方法開放允許http訪問的端口(8080)。
(2)開放允許http訪問的端口
確保外網(wǎng)訪問nginx服務器的http端口、nginx與uwsgi通信的socket的端口都在http訪問端口的列表中。
(3)關聯(lián)nginx與uwsgi
#為django站點創(chuàng)建一個nginx服務的配置文件
#在文件mysite_django.conf中填入如下內容
#如遇到nginx服務啟動失敗,請檢查mysite_django.conf中指定的端口是否被占用
(4)關聯(lián)uwsgi與django
#創(chuàng)建uwsgi配置文件
#在mysite_django_uwsgi.ini文件中填入如下內容
(5)nginx+uwsgi+django聯(lián)調測試
聯(lián)調架構如下圖所示:

后記
為了防止后續(xù)大家找不到本篇文章,我同步制作了一份文章的pdf和本專欄涉及的例程代碼放在github和gitee方便大家下載,如果下面給出的github下載鏈接打不開,可以嘗試gitee下載鏈接:
github下載鏈接:https://github.com/xiihoo/DIY_A_SLAM_Navigation_Robot
gitee下載鏈接:https://gitee.com/xiihoo-robot/DIY_A_SLAM_Navigation_Robot
技術交流
QQ技術交流群:117698356
參考文獻
[1] 張虎,機器人SLAM導航核心技術與實戰(zhàn)[M]. 機械工業(yè)出版社,2022.
