ubuntu 开机自报IP地址(用于无屏幕小车-远程连接)

目录

1.环境安装

shell 复制代码
sudo apt-get install espeak  #先安装这个库
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyttsx3==2.90  #再安装pyttsx3 pyinstaller
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller==6.3.0  # 安装打包的库

2.代码

python 复制代码
#!/usr/bin/env python
#-*-coding:utf-8-*-
 
import socket
import pyttsx3
 
def extract_ip():
    st = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    try:
        #st.connect(('10.255.255.255', 1))
        st.connect(('8.8.8.8', 80))
        IP = st.getsockname()[0]
    except Exception:
        IP = '127.0.0.1'
    finally:
        st.close()
    return IP
    
ip = extract_ip()
print(ip)
engine = pyttsx3.init()
engine.setProperty('rate', 150) # 设置语速
engine.setProperty('voice', 'zh') # 设置语言
ip = ip.replace('.', '点')

engine.say(ip)
engine.say(ip)
engine.runAndWait()

3.打包成可执行文件

切换到当前目录

shell 复制代码
pyinstaller -F -w xx_ip.py  #xx_ip.py为你的文件名

在当前目录会生成dist文件夹,里面同名文件即为可执行文件。

4.开启开机自启

浏览选择可执行文件:

相关推荐
H_oRIZoN_4 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
GeW5 小时前
RHCE备考别瞎学!按这个计划走,30天提高通过率,快速拿证
linux
Escalating_xu6 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
傲世仙尊6 小时前
System V 进程间通信详解:共享内存、消息队列与信号量(CSDN博客)
linux·开发语言·c++
码农小韩6 小时前
Linux应用开发(六)——进程间通信
linux·linux驱动·嵌入式软件开发·嵌入式操作系统·linux应用
cui_hao_nan7 小时前
从零搭建 Kubernetes 集群:Ubuntu + kubeadm 完整实战
ubuntu·容器·kubernetes
笨笨饿7 小时前
#138_解决Codex要五次回复的问题
linux·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
m0_459872927 小时前
Linux 系统基础
linux·运维·服务器
吴声子夜歌7 小时前
Shell编程——数组
linux·运维·shell
blueSatchel8 小时前
ros-humble仿真-建图-导航
linux·ros2