树梅派3B红外、433&315全连接及家居智能控制(四)SSH菜单控制篇

本文介绍了一种通过SSH连接树莓派并使用菜单控制家居智能设备的方法。该菜单最多支持四级结构,包括主菜单、单个设备开关机、遥控灯及遥控空调等功能。每个功能键按一次即可自动执行相应操作。

ssh菜单控制篇

家居智能的关键是要带来方便,否则家居智能也失去意义。使用菜单控制比用代码方便了很多,但也不是最好的解决方案,只不过通过制作菜单也可以学习一些知识,仅仅是为了好玩,通过实践来看效果还是不错的。这个菜单是通过ssh连接树莓派,启动脚本实现菜单控制。先上菜单结构图给大家看看。

这个菜单最多有四级,即主菜单-单个设备开关机-电视-频道。其他最多两级,并且每个键只按一次自动回车,操作方便,效果也不错。

各菜单全截图:

主菜单:

开关机页面:

摇控灯页面(使用的是RF315Mhz):

摇控空调页面:

天威机顶盒摇控页面:

频道列表:

频道列表说明:因为为了方便每个单位不用回车,只要按一个按键就可以,所以频道列表的数量有限制,ssh一屏也就20个台,也够了,一般都是常看的。每个频道其实就是通过irsend命令发送三个频道红外代码。

我把代码也贴上来,虽然没有实际脚本,也可以跑起来看个样子,但肯定很多项会出错。800多行代码。

#!/bin/bash

function menu ()
{
clear
cat << EOF
----------------------------------------
|***************菜单主页***************|
----------------------------------------
`echo -e "\033[35m 1)开关机页面\033[0m"`
`echo -e "\033[35m 2)单个设备开关机\033[0m"`
`echo -e "\033[35m 3)摇控灯\033[0m"`
`echo -e "\033[35m 4)摇控空调\033[0m"`
`echo -e "\033[35m x)退出\033[0m"`
EOF
read -n1 -p "请输入对应功能的数字:" num1
case $num1 in
 1)
  clear
  echo "欢迎进入开关机页面!!"
  eleproduct_menu 
  ;;
 2)
  clear
  echo "欢迎进入单设备开关机页面!!"
  singleonoff_menu
  ;;
 3)
  clear
  echo "欢迎进入摇控灯页面!!"
  light_menu
  ;;
 4)
  cp /etc/lirc/remotes/zhigao.conf /etc/lirc/remotes/tv.conf
  killall -9 lircd
  sh /etc/lirc/remotes/remake.sh
  clear
  echo "欢迎进入空调摇控页面!!"
  airc_menu
  ;;
 x)
  clear
  exit 0
  ;;
 *)
  clear
  echo "没这个选项,标子!!"
  sleep 1s
  clear
  menu
esac
}
 
function eleproduct_menu ()
{
 cat << EOF
----------------------------------------
|**************开关机页面**************|
----------------------------------------
`echo -e "\033[35m 1)乐视盒子及相关设备开机\033[0m"`
`echo -e "\033[35m 2)乐视盒子及相关设备关机\033[0m"`
`echo -e "\033[35m 3)天威机顶盒和电视开/关机\033[0m"`
`echo -e "\033[35m x)返回主菜单\033[0m"`
EOF
read -n1 -p "请输入对应功能的数字:" num2
case $num2 in
 1)
  echo "乐视盒子及相关设备开机"
  sh /etc/lirc/remotes/poweronmediabox.sh
  clear
  eleproduct_menu
  ;;
 2)
  echo "乐视盒子及相关设备关机"
  sh /etc/lirc/remotes/poweroffmediabox.sh
  clear
  eleproduct_menu 
  ;;
 3)
  echo "天威机顶盒和电视开/关机!!"
  sh /etc/lirc/remotes/onoff.sh
  clear
  eleproduct_menu
  ;;
 x)
  clear
  menu
  ;;
 *)
  clear
  echo "没这个选项,笨蛋!!"
  sleep 1s
  clear
  eleproduct_menu
esac
}
 
function singleonoff_menu ()
{
 cat << EOF
----------------------------------------
|***********单设备摇控页面*************|
----------------------------------------
`echo -e "\033[35m 1)电视\033[0m"`
`echo -e "\033[35m 2)天威机顶盒\033[0m"`
`echo -e "\033[35m 3)功放\033[0m"`
`echo -e "\033[35m 4)乐视盒子\033[0m"`
`echo -e "\033[35m x)返回主菜单\033[0m"` 
EOF
read -n1 -p "请输入对应设备的数字:" num3
case $num3 in
 1)
  sh /etc/lirc/remotes/dellirc.sh
  cp /etc/lirc/remotes/tv1.conf /etc/lirc/remotes/tv.conf
  killall -9 lircd
  sh /etc/lirc/remotes/remake.sh
  clear
  echo "欢迎进入电视摇控页面!!"
  tv1_menu
  ;;
 2)
  sh /etc/lirc/remotes/dellirc.sh
  cp /etc/lirc/remotes/tianwei1.conf /etc/lirc/remotes/tv.conf
  killall -9 lircd
  sh /etc/lirc/remotes/remake.sh
  clear
  echo "欢迎进入天威机顶盒摇控页面!!"
  tianwei_menu
  ;;
 3)
  sh /etc/lirc/remotes/dellirc.sh
  cp /etc/lirc/remotes/malanshi.conf /etc/lirc/remotes/tv.conf
  killall -9 lircd
  sh /etc/lirc/remotes/remake.sh
  clear
  echo "欢迎进入功放摇控页面!!"
  malanshi_menu
  ;;
 4)
  sh /etc/lirc/remotes/dellirc.sh
  cp /etc/lirc/remotes/leshi.conf /etc/lirc/remotes/tv.conf
  killall -9 lircd
  sh /etc/lirc/remotes/remake.sh
  clear
  echo "欢迎进入乐视盒子摇控页面!!"
  leshi_menu
  ;;
 x)
  clear
  menu
  ;;
 *)
  clear
  echo "又按错了!!"
  clear
  singleonoff_menu
esac
}

function tv1_menu ()
{
 cat << EOF
----------------------------------------
|******** ***电视摇控页面** ***********|
----------------------------------------
`echo -e "\033[35m 1)开/关机\033[0m"`
`echo -e "\033[35m 2)静音\033[0m"`
`echo -e "\033[35m 3)返回\033[0m"`
`echo -e "\033[35m 4)视频源\033[0m"`
`echo -e "\033[35m 5)向下\033[0m"`
`echo -e "\033[35m 6)向上\033[0m"`
`echo -e "\033[35m 7)确定\033[0m"`
`echo -e "\033[35m 0)音量+\033[0m"`
`echo -e "\033[35m 9)音量—\033[0m"`
`echo -e "\033[35m a)向左\033[0m"`
`echo -e "\033[35m s)向右\033[0m"`
`echo -e "\033[35m d)3D\033[0m"`
`echo -e "\033[35m c)返回上级菜单\033[0m"`
`echo -e "\033[35m x)返回主菜单\033[0m"` 
EOF
read -n1 -p "请输入对应功能的数字:" num4
case $num4 in
 1)
  irsend send_once tv key_power
  clear
  tv1_menu    
  ;;
 2)
  irsend send_once tv key_mute
  clear
  tv1_menu
  ;;
 3)
  irsend send_once tv key_back
  clear
  tv1_menu
  ;;
 4)
  irsend send_once tv key_a
  clear
  tv1_menu
  ;;
 5)
  irsend send_once tv key_down
  clear
  tv1_menu
  ;;
 6)
  irsend send_once tv key_up
  clear
  tv1_menu
  ;;
 7)
  irsend send_once tv key_pause
  clear
  tv1_menu
  ;;
 0)
  irsend send_once tv key_volumeup
  clear
  tv1_menu
  ;;
 9)
  irsend send_once tv key_volumedown
  clear
  tv1_menu
  ;;
 a)
  irsend send_once tv key_left
  clear
  tv1_menu
  ;;
 b)
  irsend send_once tv key_right
  clear
  tv1_menu
  ;;
 d)
  irsend send_once tv key_b
  clear
  tv1_menu
  ;;
 c)
  clear
  singleonoff_menu

  ;;
 x)
  clear
  menu
  ;;
 *)
  clear
  echo "二货!按错了!!"
  sleep 1s
  clear
  tv1_menu
esac
}

function tianwei_menu ()
{
 cat << EOF
----------------------------------------
|*********天威机顶盒摇控页面***********|
----------------------------------------
`echo -e "\033[35m 1)开/关机\033[0m"`
`echo -e "\033[35m 2)静音\033[0m"`
`echo -e "\033[35m 3)返回\033[0m"`
`echo -e "\033[35m 4)菜单\033[0m"`
`echo -e "\033[35m 5)向下\033[0m"`
`echo -e "\033[35m 6)向上\033[0m"`
`echo -e "\033[35m o)确定\033[0m"`
`echo -e "\033[35m 0)音量+\033[0m"`
`echo -e "\033[35m 9)音量—\033[0m"`
`echo -e "\033[35m a)向左\033[0m"`
`echo -e "\033[35m s)向右\033[0m"`
`echo -e "\033[35m u)上页\033[0m"`
`echo -e "\033[35m j)下页\033[0m"`
`echo -e "\033[35m h)主页\033[0m"`
`echo -e "\033[35m p)频道列表\033[0m"`
`echo -e "\033[35m c)返回上级菜单\033[0m"`
`echo -e "\033[35m x)返回主菜单\033[0m"` 
EOF
read -n1 -p "请输入对应功能的数字:" num5
case $num5 in
 1)
  irsend send_once tv key_power
  clear
  tianwei_menu    
  ;;
 2)
  irsend send_once tv key_mute
  clear
  tianwei_menu    
  ;;
 3)
  irsend send_once tv key_back
  clear
  tianwei_menu    
  ;;
 4)
  irsend send_once tv key_menu
  clear
  tianwei_menu    
  ;;
 5)
  irsend send_once tv key_down
  clear
  tianwei_menu    
  ;;
 6)
  irsend send_once tv key_up
  clear
  tianwei_menu    
  ;;
 o)
  irsend send_once tv key_pause
  clear
  tianwei_menu    
  ;;
 0)
  irsend send_once tv key_volumeup
  clear
  tianwei_menu    
  ;;
 9)
  irsend send_once tv key_volumedown
  clear
  tianwei_menu    
  ;;
 a)
  irsend send_once tv key_left
  clear
  tianwei_menu    
  ;;
 b)
  irsend send_once tv key_right
  clear
  tianwei_menu    
  ;;
 u)
  irsend send_once tv key_pageup
  clear
  tianwei_menu    
  ;;
 j)
  irsend send_once tv key_pagedown
  clear
  tianwei_menu    
 ;; 
 h)
  irsend send_once tv key_home
  clear
  tianwei_menu    
 ;;
 p)
  clear
  echo "欢迎进入频道列表页面!!"
  channellist_menu
 ;;
 c)
  clear
  singleonoff_menu
  ;;
 x)
  clear
  menu
  ;;
 *)
  clear
  echo "二货!按错了!!"
  sleep 1s
  clear
  tianwei_menu    
esac
}

function channellist_menu ()
{
 cat << EOF
----------------------------------------
|************频道列表页面**************|
----------------------------------------
`echo -e "\033[35m 1)深圳都市高清303\033[0m"`
`echo -e "\033[35m 2)深圳卫视高清302\033[0m"`
`echo -e "\033[35m 3)中央1高清301\033[0m"`
`echo -e "\033[35m 4)中央5高清316\033[0m"`
`echo -e "\033[35m 5)中央6高清320\033[0m"`
`echo -e "\033[35m 6)中央9高清(记录)323\033[0m"`
`echo -e "\033[35m 7)中央10高清(科教)324\033[0m"`
`echo -e "\033[35m 8)湖面卫视高清329\033[0m"`
`echo -e "\033[35m 9)浙江卫生高清332\033[0m"`
`echo -e "\033[35m 0)求索记录高清336\033[0m"`
`echo -e "\033[35m q)每日影院高清341\033[0m"`
`echo -e "\033[35m w)明珠台标清024\033[0m"`
`echo -e "\033[35m e)凤凰中文标清030\033[0m"`
`echo -e "\033[35m c)返回上级菜单\033[0m"`
`echo -e "\033[35m x)返回主菜单\033[0m"` 
EOF
read -n1 -p "请输入对应功能的数字:" num6
case $num6 in
 1)
  irsend send_once tv key_3
  irsend send_once tv key_0
  irsend send_once tv key_3
  clear
  channellist_menu    
  ;;
 2)
  irsend send_once tv key_3
  irsend send_once tv key_0
  irsend send_once tv key_2
  clear
  channellist_menu    
  ;;
 3)
  irsend send_once tv key_3
  irsend send_once tv key_0
  irsend send_once tv key_1
  clear
  channellist_menu    
  ;;
 4)
  irsend send_once tv key_3
  irsend send_once tv key_1
  irsend send_once tv key_6
  clear
  channellist_menu    
  ;;
 5)
  irsend send_once tv key_3
  irsend send_once tv key_2
  irsend send_once tv key_0
  clear
  channellist_menu    
  ;;
 6)
  irsend send_once tv key_3
  irsend send_once tv key_2
  irsend send_once tv key_3
  clear
  channellist_menu    
  ;;
 7)
  irsend send_once tv key_3
  irsend send_once tv key_2
  irsend send_once tv key_4
  clear
  channellist_menu    
  ;;
 8)
  irsend send_once tv key_3
  irsend send_once tv key_2
  irsend send_once tv key_9
  clear
  channellist_menu    
  ;;
 9)
  irsend send_once tv key_3
  irsend send_once tv key_3
  irsend send_once tv key_2
  clear
  channellist_menu    
  ;;
 0)
  irsend send_once tv key_3
  irsend send_once tv key_3
  irsend send_once tv key_6
  clear
  channellist_menu    
  ;;
 q)
  irsend send_once tv key_3
  irsend send_once tv key_4
  irsend send_once tv key_1
  clear
  channellist_menu    
  ;;
 w)
  irsend send_once tv key_0
  irsend send_once tv key_2
  irsend send_once tv key_4
  clear
  channellist_menu    
  ;;
 e)
  irsend send_once tv key_0
  irsend send_once tv key_3
  irsend send_once tv key_0
  clear
  channellist_menu    
 ;;
 c)
  clear
  tianwei_menu
  ;;
 x)
  clear
  menu
  ;;
 *)
  clear
  echo "三货!按错了!!"
  sleep 1s
  clear
  channellist_menu    
esac
}

function malanshi_menu ()
{
 cat << EOF
----------------------------------------
|*********马兰士功放摇控页面***********|
----------------------------------------
`echo -e "\033[35m 1)开/关机\033[0m"`
`echo -e "\033[35m 2)静音\033[0m"`
`echo -e "\033[35m 3)CAL/SAT输入\033[0m"`
`echo -e "\033[35m 4)DVD输入\033[0m"`
`echo -e "\033[35m 5)AUX1输入\033[0m"`
`echo -e "\033[35m 6)FM收音机\033[0m"`
`echo -e "\033[35m 7)USB输入\033[0m"`
`echo -e "\033[35m 8)网络收音机\033[0m"`
`echo -e "\033[35m 0)音量+\033[0m"`
`echo -e "\033[35m 9)音量—\033[0m"`
`echo -e "\033[35m c)返回上级菜单\033[0m"`
`echo -e "\033[35m x)返回主菜单\033[0m"` 
EOF
read -n1 -p "请输入对应功能的数字:" num7
case $num7 in
 1)
  irsend send_once tv key_power
  clear
  malanshi_menu    
  ;;
 2)
  irsend send_once tv key_mute
  clear
  malanshi_menu    
  ;;
 3)
  irsend send_once tv key_sat
  clear
  malanshi_menu    
  ;;
 4)
  irsend send_once tv key_dvd
  clear
  malanshi_menu    
  ;;
 5)
  irsend send_once tv key_aux
  clear
  malanshi_menu    
  ;;
 6)
  irsend send_once tv key_tuner
  clear
  malanshi_menu    
  ;;
 7)
  irsend send_once tv key_u
  clear
  malanshi_menu    
  ;;
 8)
  irsend send_once tv key_n
  clear
  malanshi_menu    
  ;;
 9)
  irsend send_once tv key_volumedown
  clear
  malanshi_menu    
  ;;
 0)
  irsend send_once tv key_volumeup
  clear
  malanshi_menu    
  ;;
 c)
  clear
  singleonoff_menu
  ;;
 x)
  clear
  menu
  ;;
 *)
  clear
  echo "二货!按错了!!"
  sleep 1s
  clear
  tianwei_menu    
esac
}
function leshi_menu ()
{
 cat << EOF
----------------------------------------
|******欢迎进入乐视盒子摇控页面********|
----------------------------------------
`echo -e "\033[35m 1)开/关机\033[0m"`
`echo -e "\033[35m 2)静音\033[0m"`
`echo -e "\033[35m 3)返回\033[0m"`
`echo -e "\033[35m h)主页\033[0m"`
`echo -e "\033[35m m)菜单\033[0m"`
`echo -e "\033[35m w)向上\033[0m"`
`echo -e "\033[35m s)向下\033[0m"`
`echo -e "\033[35m a)向左\033[0m"`
`echo -e "\033[35m d)向右\033[0m"`
`echo -e "\033[35m o)确定\033[0m"`
`echo -e "\033[35m 4)设置\033[0m"`
`echo -e "\033[35m 5)乐视键\033[0m"`
`echo -e "\033[35m 0)音量+\033[0m"`
`echo -e "\033[35m 9)音量—\033[0m"`
`echo -e "\033[35m ,)频道+\033[0m"`
`echo -e "\033[35m .)频道—\033[0m"`
`echo -e "\033[35m c)返回上级菜单\033[0m"`
`echo -e "\033[35m x)返回主菜单\033[0m"` 
EOF
read -n1 -p "请输入对应功能的数字:" num8
case $num8 in
 1)
  irsend send_once tv key_power
  clear
  leshi_menu    
  ;;
 2)
  irsend send_once tv key_mute
  clear
  leshi_menu    
  ;;
 3)
  irsend send_once tv key_back
  clear
  leshi_menu    
  ;;
 4)
  irsend send_once tv key_a
  clear
  leshi_menu    
  ;;
 5)
  irsend send_once tv key_b
  clear
  leshi_menu    
  ;;
 h)
  irsend send_once tv key_home
  clear
  leshi_menu    
  ;;
 m)
  irsend send_once tv key_menu
  clear
  leshi_menu    
  ;;
 w)
  irsend send_once tv key_up
  clear
  leshi_menu    
  ;;
 s)
  irsend send_once tv key_down
  clear
  leshi_menu    
  ;;
 a)
  irsend send_once tv key_left
  clear
  leshi_menu    
  ;;
 d)
  irsend send_once tv key_right
  clear
  leshi_menu    
  ;;
 o)
  irsend send_once tv key_pause
  clear
  leshi_menu    
  ;;
 ,)
  irsend send_once tv key_channelup
  clear
  leshi_menu    
  ;;
 .)
  irsend send_once tv key_channeldown
  clear
  leshi_menu    
  ;;
 9)
  irsend send_once tv key_volumedown
  clear
  leshi_menu    
  ;;
 0)
  irsend send_once tv key_volumeup
  clear
  leshi_menu    
  ;;
 c)
  clear
  singleonoff_menu
  ;;
 x)
  clear
  menu
  ;;
 *)
  clear
  echo "二货!按错了!!"
  sleep 1s
  clear
  leshi_menu    
esac
}
function light_menu ()
{
clear
cat << EOF
----------------------------------------
|*************摇控灯主页面*************|
----------------------------------------
`echo -e "\033[35m 1)客厅灯全开/关\033[0m"`
`echo -e "\033[35m 2)闹闹房间灯开/关\033[0m"`
`echo -e "\033[35m 3)客厅灯A段开关\033[0m"`
`echo -e "\033[35m 4)客厅灯B段开关\033[0m"`
`echo -e "\033[35m 5)客厅灯C段开关\033[0m"`
`echo -e "\033[35m x)返回上级菜单\033[0m"`
EOF
read -n1 -p "请输入对应功能的数字:" num9
case $num9 in
 1)
  clear
  cd ~/433Utils/RPi_utils/
  ./codesend 2581592
  cd ~
  light_menu 
  ;;
 2)
  clear
  cd ~/433Utils/RPi_utils/
  ./codesend 16451928 
  cd ~
  light_menu 
  ;;
 3)
  clear
  cd ~/433Utils/RPi_utils/
  ./codesend 2581585
  cd ~
  light_menu 
  ;;
 4)
   clear
  cd ~/433Utils/RPi_utils/
  ./codesend 2581586
  cd ~
  light_menu 
  ;;
 5)
   clear
  cd ~/433Utils/RPi_utils/
  ./codesend 2581588
  cd ~
  light_menu 
  ;;
 x)
  clear
  menu
  ;;
 *)
  clear
  echo "没这个选项,标子!!"
  sleep 1s
  clear
  menu
esac
}
function airc_menu ()
{
clear
cat << EOF
----------------------------------------
|*************摇控空调页面*************|
----------------------------------------
`echo -e "\033[35m 1)空调开,制冷温度25\033[0m"`
`echo -e "\033[35m 2)空调关\033[0m"`
`echo -e "\033[35m 3)温度调到23度\033[0m"`
`echo -e "\033[35m 4)温度调到24度\033[0m"`
`echo -e "\033[35m 6)温度调到26度\033[0m"`
`echo -e "\033[35m 7)温度调到27度\033[0m"`
`echo -e "\033[35m 8)温度调到28度\033[0m"`
`echo -e "\033[35m 9)温度调到29度\033[0m"`
`echo -e "\033[35m x)返回上级菜单\033[0m"`
EOF
read -n1 -p "请输入对应功能的数字:" num10
case $num10 in
 1)
  irsend send_once tv key_power 
  clear
  airc_menu    
  ;;
 2)
  irsend send_once tv key_off 
  clear
  airc_menu    
  ;;
 3)
  irsend send_once tv key_3 
  clear
  airc_menu    
  ;;
 4)
  irsend send_once tv key_4 
  clear
  airc_menu    
  ;;
 6)
  irsend send_once tv key_6 
  clear
  airc_menu    
  ;;
 7)
  irsend send_once tv key_7 
  clear
  airc_menu    
  ;;
 8)
  irsend send_once tv key_8 
  clear
  airc_menu    
  ;;
 9)
  irsend send_once tv key_9 
  clear
  airc_menu    
  ;;
 x)
  clear
  menu
  ;;
 *)
  clear
  echo "没这个选项,标子!!"
  sleep 1s
  clear
  menu
esac
}
menu

感谢网上的一个大神,菜单的结构是根据他的资料学习的,并在其基础上改的,但不好意思没存网页!没记得是谁,请作者看到此贴跟我联系,我再具名感谢!

 

&lt;think&gt;好的,用户想在莓派4B上安装Ubuntu后开启SSH服务。我需要根据提供的引用信息来整理步骤。 首先,引用[2]提到,第一次开机时,在Windows资源管理器中打开system-boot分区,新建一个名为ssh的文件,这样可以启用SSH服务。不过这里要注意,用户可能使用的是Ubuntu系统,可能需要不同的方法。或者是否在安装Ubuntu时同样适用这个方法? 然后,安装Ubuntu系统后,可能需要配置网络,尤其是无线网络。引用[2]还提到增加WIFI配置,可能需要在boot分区中创建wpa_supplicant.conf文件,包含SSID和密码。不过这部分具体如何操作需要确认,特别是针对Ubuntu系统是否适用。 接下来,引用[1]说明安装完成后,可以通过SSH默认用户pi/raspberry登录,但这里用户安装的是Ubuntu,可能默认用户不同。比如Ubuntu的默认用户可能是ubuntu,密码可能不同,或者是否需要手动设置? 另外,引用[3]是关于ROS安装的,可能暂时不相关,但可能需要检查是否有其他步骤影响SSH配置。 可能的步骤总结: 1. 在安装Ubuntu到SD卡后,在boot分区创建ssh文件以启用SSH。 2. 如果需要无线网络,创建wpa_supplicant.conf文件配置Wi-Fi。 3. 启动莓派,通过SSH连接,注意默认用户和密码可能不同,可能需要使用ubuntu用户和对应密码。 4. 如果SSH无法连接,检查网络配置或尝试其他方法启用SSH。 需要注意的点: - Ubuntu的默认用户和密码可能与Raspberry Pi OS不同,可能需要查找官方文档确认。 - 创建ssh文件的方法是否适用于Ubuntu,或者是否需要其他步骤,比如使用cloud-init配置。 - 网络配置是否正确,尤其是无线网络是否需要额外设置。 可能需要进一步确认莓派上Ubuntu的SSH开启方式,是否和Raspbian相同。根据经验,某些Ubuntu镜像可能默认不启用SSH,需要手动启用。因此,在boot分区创建ssh文件可能有效,或者可能需要使用用户数据或云初始化配置。 总结步骤应该包括:准备系统镜像,写入SD卡,在boot分区添加ssh文件,配置Wi-Fi(可选),启动设备,通过SSH连接。同时提醒用户注意默认凭据和可能的网络设置问题。&lt;/think&gt;### 在莓派4B上安装Ubuntu并启用SSH的步骤 #### 1. 准备Ubuntu系统镜像 - 下载适用于莓派4B的Ubuntu Server镜像(如Ubuntu 22.04 LTS)[^1]。 - 使用工具(如Raspberry Pi Imager或BalenaEtcher)将镜像写入SD卡。 #### 2. 启用SSH服务 - 写入镜像后,在电脑上挂载SD卡的`system-boot`分区(Windows/Mac/Linux均可访问)。 - 在分区根目录下**新建一个空文件**,命名为`ssh`(无扩展名),系统首次启动时会自动启用SSH服务[^2]。 #### 3. 配置WiFi网络(可选) - 若需无线连接,在`system-boot`分区下创建文件`network-config`,写入以下内容(替换`your_ssid`和`your_password`): ```yaml version: 2 wifis: wlan0: dhcp4: true access-points: &quot;your_ssid&quot;: password: &quot;your_password&quot; ``` #### 4. 启动莓派 - 插入SD卡并通电启动,等待系统初始化完成(约1-2分钟)。 #### 5. 通过SSH连接 - 使用默认用户名`ubuntu`和临时密码`ubuntu`登录(首次登录需修改密码): ```bash ssh ubuntu@raspberrypi.local ``` - 若无法通过`.local`域名连接,可通过路由器管理界面查找莓派的IP地址。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kim5659

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值