(一)树莓派、MQTT。 DHT11、MFRC522(一)
(二)树莓派、MQTT。树莓派定时温湿度采集,图片采集(二)
(三)树莓派、MQTT。MQTT数据收发(三)
文章目录- 系列文章目录
- 前言
- 一、主函数
- main.py
- 二、设置开机自启动
- 1、通过systemd配置python开机自启动文件
- 2.使用systemd管理服务
- 总结
前言
进入主页查看系列文章
编写主函数,设置开机自启动任务。
一、主函数 main.py
# -*- coding: utf-8 -*-
"""
Created on Wed Apr 6 13:41:37 2022
@author: 嗯哒
"""
import os
import RFID_Read
import time
#开机关闭树莓派WiFi
os.system("sudo ifconfig wlan0 down")
#搜寻RFID卡片
print('Waiting for a Tag Card...')
while True:
while True:
if RFID_Read.RFID_Read():
break
#RFID触发后打开WiFi
os.system("sudo ifconfig wlan0 up")
while True:
#判断是否加入指定局域网
if '192.168.137' in os.popen('ifconfig | grep 192').read():
break
time.sleep(1)
#执行发送函数
os.system("python3 /home/pi/Program/Final_P/Send_All.py")
"""
#30秒后关闭wifi
time.sleep(30)
os.system("sudo ifconfig wlan0 down")
"""
二、设置开机自启动
1、通过systemd配置python开机自启动文件
在etc/systemd/system目录下编写unit文件,文件名要以.service结尾,
sudo nano /home/pi/my_program.service (文件名自定义)
[Unit]
Description=My service
#After=network.target
[Service]
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/python3 -u /home/pi/myled.py
User=pi
[Install]
WantedBy=multi-user.target
2.使用systemd管理服务
#启动服务:
sudo systemctl start my_program.service
#查看服务状态:
systemctl status my_program.service
#使用journalctl查看该服务的输出:
journalctl -u my_program
#停止服务:
sudo systemctl stop my_program.service
#设置开机自启动:
sudo systemctl enable my_program.service
#关闭开机自启动:
sudo systemctl disable my_program.service
#修改或添加配置文件后需要重新加载:
sudo systemctl daemon-reload
总结
树莓派上电开机后,WiFi关闭。打开MQTT服务器,保持接收端代码运行。
RFID触发树莓派发送数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)