树莓派、MQTT(四)

树莓派、MQTT(四),第1张

系列文章目录

(一)树莓派、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触发树莓派发送数据。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/714734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存