6.2.1.2. 基於 Raspbian 的安裝 Linux

警示:SD 卡須最少有 8GB 空白容量,才能在 Raspberry Pi 3 安裝 Linux

我們提供基於 Raspbian 的 Linux distro 映像檔。它已預裝了 ROS 跟相關套件,支援 TB3 Burger 跟 TB3 Waffle Pi 款。不過一些收費軟體,如 Wolfram Mathematics,Minercraft Pi,Oracle Java SE 等已經事先被移除。

Remote PC(桌電/筆電)

  • 下載 TB3 用的 Linux distro 映像檔

    • SHA256: 7a868c275169b1f02c04617cc0cce9654fd8222623c78b22d0a27c73a9609398

  • 下載後解壓縮,然後燒錄到 SD 卡

  • 如何燒錄到 SD卡

    • etcher.io下載軟體安裝 Ether SD card image utility

    • 執行 Etcher 並選擇解壓縮後的檔案

    • 選擇 SD 卡的磁碟機

    • 然後進行燒錄 Burn

  • 其他燒錄方法: Linux 的 dd 指令,或是 Windows 的 win32diskmager。

    • Linux 用戶請參考 here

    • Windows 用戶請參考 here

TB3 的 SBC 單板電腦

  • 安裝好後 login 的 username 是 pi,password 是 turtlebot。但你必須先把 Raspberry Pi 連上螢幕(HDMI)及鍵盤和滑鼠。

  • 擴展檔案系統以便使用 SD 卡全部空間

sudo raspi-config
(select 7 Advanced Options > A1 Expand Filesystem)
sudo apt-get install ntpdate
sudo ntpdate ntp.ubuntu.com
  • 如果需要更改 Password,Locale,及 Timezone 設定 (選項),則

  1. sudo raspi-config > 1 Change User Password

  2. sudo raspi-config > 4 Localisation Options > I1 Change Locale

  3. sudo raspi-config > 4 Localisation Options > I2 Change Timezone

  nano ~/.bashrc
  (modify `localhost` to REMOTE_PC_IP and RASPBERRY_PI_3_IP)

  export ROS_MASTER_URI=http://REMOTE_PC_IP:11311
  export ROS_HOSTNAME=RASPBERRY_PI_3_IP
  source ~/.bashrc

Remote PC(桌電/筆電)

  • 一旦 Wifi 無線環境設定好,你就可以從 Remote PC(桌電/筆電)使用 SSH 來連接 Raspberry Pi (參考連結),指令參考如下

ssh pi@192.168.xxx.xxx (The IP 192.168.xxx.xxx is your Raspberry Pi's IP or hostname)

備註:以下列出跟官方的 Raspbian Stretch 的差異

  • 它基於 Raspbian Stretch with desktop, 而 Raspbian 基於 Debian Stretch

  • 移除非免費軟體如 Wolfram Mathematica, Minecraft Pi 及 Oracle Java SE

  • 移除 libreoffice 減少映像檔大小

  • 使用 raspi-config 啟動 SSH 及 Camera 功能

  • 更改 password: turtlebot

  • 預裝 ROS 及 TurtleBot3 軟體如下

    • ROS Kinetic Kame 及相關軟體

    • raspicam_node 套件 for Raspberry Pi Camera

    • hls_lfcd_lds_driver 光達套件 for Laser Distance Sensor

    • turtlebot3turtlebot3_msgs 套件 for TutleBot3

    • 預裝好 ROS Packages (132 packages): actionlib, actionlib_msgs, angles, bond, bond_core, bondcpp, bondpy, camera_calibration_parsers, camera_info_manager, catkin, class_loader, cmake_modules, collada_parser, collada_urdf, common_msgs, compressed_image_transport, control_msgs, cpp_common, cv_bridge, diagnostic_aggregator, diagnostic_analysis, diagnostic_common_diagnostics, diagnostic_msgs, diagnostic_updater, diagnostics, dynamic_reconfigure, eigen_conversions, eigen_stl_containers, executive_smach, filters, gencpp, geneus, genlisp, genmsg, gennodejs, genpy, geometric_shapes, geometry, geometry_msgs, hls_lfcd_lds_driver, image_transport, joint_state_publisher, kdl_conversions, kdl_parser, message_filters, message_generation, message_runtime, mk, nav_msgs, nodelet, nodelet_core, nodelet_topic_tools, octomap (plain cmake), opencv3 (plain cmake), orocos_kdl (plain cmake), pluginlib, python_orocos_kdl (plain cmake), python_qt_binding, random_numbers, raspicam_node, resource_retriever, robot, robot_model, robot_state_publisher, ros, ros_base, ros_comm, ros_core, rosbag, rosbag_migration_rule, rosbag_storage, rosbash, rosboost_cfg, rosbuild, rosclean, rosconsole, rosconsole_bridge, roscpp, roscpp_core, roscpp_serialization, roscpp_traits, roscreate, rosgraph, rosgraph_msgs, roslang, roslaunch, roslib, roslint, roslisp, roslz4, rosmake, rosmaster, rosmsg, rosnode, rosout, rospack, rosparam, rospy, rosserial_msgs, rosserial_python, rosservice, rostest, rostime, rostopic, rosunit, roswtf, self_test, sensor_msgs, shape_msgs, smach, smach_msgs, smach_ros, smclib, std_msgs, std_srvs, stereo_msgs, tf, tf_conversions, tf2, tf2_kdl, tf2_msgs, tf2_py, tf2_ros, topic_tools, trajectory_msgs, turtlebot3_bringup, turtlebot3_msgs, urdf, urdf_parser_plugin, visualization_msgs, xacro, xmlrpcpp

Last updated