国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

天貓精靈/小愛(ài)同學(xué)+巴法云+Openwrt控制局域網(wǎng)電腦/群暉開(kāi)關(guān)機(jī)

這篇具有很好參考價(jià)值的文章主要介紹了天貓精靈/小愛(ài)同學(xué)+巴法云+Openwrt控制局域網(wǎng)電腦/群暉開(kāi)關(guān)機(jī)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

事情的起因

因?yàn)樵O(shè)備多,還怕費(fèi)電,所以懶得手動(dòng)開(kāi)關(guān)機(jī)

實(shí)戰(zhàn)環(huán)境

1.天貓精靈/小米音響 都可以
2.openwrt路由器,所有設(shè)備在同一個(gè)局域網(wǎng)(ping通,當(dāng)然不在一個(gè)也可以,不過(guò)麻煩一點(diǎn),但是必須能ping通,百度如何ping通,走網(wǎng)上說(shuō)的組網(wǎng)通道,例如向日葵x1組的網(wǎng)也行)
3.設(shè)備需要支持 wol ,用openwrt里的網(wǎng)絡(luò)喚醒試一下,能喚醒再接著看下文
4.注冊(cè) 巴法云 ,能免費(fèi)使用的都很牛x,感謝!!!

開(kāi)始發(fā)車

1.天貓精靈/小愛(ài)同學(xué) 連接 八法云

1.巴法云 https://cloud.bemfa.com/
2.添加主題
巴法如何添加小米設(shè)備,天貓精靈,小愛(ài)同學(xué),電腦,dubbo
添加完成到 天貓精靈/小愛(ài)同學(xué)app 添加巴法云,具體不再贅述,百度知道

2.openwrt

由于穩(wěn)定需要害怕把openwrt給高掛,在路由器里只添加幾個(gè)腳本,其他在docker里拉一個(gè)50多md的Ubuntu容器里面搞

  1. ssh 連接到openwrt 推薦NxShell,其他也可以
  2. vim pc_xxx.sh #xxx為你添加設(shè)備的名字,見(jiàn)名知意就行
  3. 輸入i 進(jìn)入插入模式 粘貼
#!/bin/bash
echo "xxx電腦,這里只是輸出看一下,改成你的設(shè)備名字"                
echo "magic package is ready to sent"
# br-lan 你的的設(shè)備所在的接口
etherwake -D -i "br-lan" "MAC地址,這里要修改啊!!!!!!"
echo "magic package has been sent"

ESC鍵,輸入 :wq 回車
4.給與執(zhí)行操作權(quán)限 chmod +x pc_xxx.sh xxx是你自己起的名字
5.輸入 ./pc_xxx.sh 試一下 注意: etherwake軟件要有 沒(méi)有的話 opkg install etherwake 或者百度知道… 不能喚醒的話就 game over 了
有幾個(gè)電腦就見(jiàn)幾個(gè)啟動(dòng)文件,實(shí)際上一個(gè)也行不過(guò)哪有復(fù)制粘貼來(lái)三個(gè)快,一個(gè)的話需要接受mac作為參數(shù),具體百度一下…

3.docker環(huán)節(jié)

1.拉取鏡像 xxx你的端口,不能用就換一個(gè) -p xxx:22

docker run -e TZ=Asia/Shanghai -p 8022:22 -it --name ubuntuserver ubuntu:latest /bin/bash

進(jìn)入終端,openwrt上的docker
巴法如何添加小米設(shè)備,天貓精靈,小愛(ài)同學(xué),電腦,dubbo
其他的docker UI都有類似功能,或者剛剛拉鏡像時(shí)別出去,直接就到控制臺(tái)了

su root
passwd 123456 #密碼自己設(shè)置
# 安裝 ssh 方便以后鏈接
apt install openssh-server
# 啟動(dòng)ssh
service ssh restart
# 設(shè)置ssh開(kāi)機(jī)啟動(dòng)
systemctl enable ssh

systemctl enable ssh 能用最好,可惜docker里不能用systemctl 著實(shí)惡心
解決方案
vim /root/startup_run.sh
startup_run.sh腳本內(nèi)容:

#!/bin/bash
LOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
echo "[$LOGTIME] startup run..." >>/root/startup_run.log
service ssh start >>/root/startup_run.log

給執(zhí)行權(quán)限 chmod +x /root/startup_run.sh
將腳本加入到啟動(dòng)文件中
vim /root/.bashrc
在.bashrc末尾增加如下語(yǔ)句

# startup run
if [ -f /root/startup_run.sh ]; then
      ./root/startup_run.sh
fi

修改ssh配置允許登陸
vim /etc/ssh/sshd_config
PermitRootLogin前的#好去掉,后面改成yes
PermitRootLogin yes
重啟Ubuntu容器,用ssh工具鏈接,不成功嘗試百度解決

Ubuntu安裝需要的環(huán)境

apt update
apt upgrade
apt install python3 sshpass 
# 不成功嘗試換源

腳本上傳到 /root 下,就是NxShell登陸后上傳的地方
巴法如何添加小米設(shè)備,天貓精靈,小愛(ài)同學(xué),電腦,dubbo
巴法如何添加小米設(shè)備,天貓精靈,小愛(ài)同學(xué),電腦,dubbo
上傳 wolup.py文件 ,注意一定要按需,有幾臺(tái)設(shè)備修改幾臺(tái)
此處代碼參考 https://www.bilibili.com/read/cv23088336/ 這個(gè)大神
還有https://cloud.bemfa.com/docs/#/
一定要改成自己的

注意:sshpass 要先使用 ssh命令登陸一下你要喚醒或者遠(yuǎn)程關(guān)機(jī)的設(shè)備,不然可能因?yàn)橐粋€(gè)登陸提示你是否登陸的yes/no導(dǎo)致程序沒(méi)有反應(yīng),然后使用sshpass -p 密碼 ssh root@openwrt的ip 登陸看看是否成功到目標(biāo)設(shè)備,代碼中這句話后面是要執(zhí)行的命令,如果到不了目標(biāo)設(shè)備就沒(méi)有下一步了

# -*- coding: utf-8
import socket
import threading
import time
import os
import datetime

# 巴法云私鑰
client_id = "巴法云私鑰"
# 主題值
top_id = "PC1001,PC2001,PC3001"


# 華碩電腦
wol1 = 'sshpass -p 密碼 ssh  root@openwrt的ip ./pc_huashuo.sh'
# 聯(lián)想電腦
wol2 = 'sshpass -p 密碼 ssh  root@openwrt的ip ./pc_lianxiang.sh'
# pc3指的是黑群暉
wol3 = 'sshpass -p 密碼 ssh  root@openwrt的ip ./pc_san.sh'


# 局域網(wǎng)連接openssh服務(wù)器,進(jìn)行關(guān)機(jī)操作
# 注意一定要是root登陸,不然沒(méi)有權(quán)限關(guān)機(jī),windows的是你平時(shí)登陸本地賬號(hào)的名字,一定要有權(quán)限
# 華碩電腦
shutdown1 = 'sshpass -p 密碼 ssh 用戶名@設(shè)備的ip "shutdown -s -t 0"'
# 聯(lián)想電腦
shutdown2 = 'sshpass -p 密碼 ssh 用戶名@設(shè)備的ip "shutdown -s -t 0"'
# 群暉或者linux
shutdown3 = 'sshpass -p 密碼 ssh 用戶名@設(shè)備的ip "sudo shutdown -h now"'


def connTCP():
    global tcp_client_socket
    # 創(chuàng)建socket
    tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # IP 和端口
    server_ip = 'bemfa.com'
    server_port = 8344
    try:
        # 連接服務(wù)器
        tcp_client_socket.connect((server_ip, server_port))
        # 發(fā)送訂閱指令
        substr = 'cmd=1&uid=' + client_id + '&topic=' + top_id + '\r\n'
        tcp_client_socket.send(substr.encode("utf-8"))
    except():
        time.sleep(2)
        connTCP()


# 心跳
def Ping():
    # 發(fā)送心跳
    try:
        keep_live = 'ping\r\n'
        tcp_client_socket.send(keep_live.encode("utf-8"))
    except():
        time.sleep(2)
        connTCP()
    # 開(kāi)啟定時(shí),30秒發(fā)送一次心跳
    t = threading.Timer(30, Ping)
    t.start()


# 獲取當(dāng)前時(shí)間
def nowTime():
    now = datetime.datetime.now()
    formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
    return formatted_time


connTCP()
Ping()

while True:
    # 接收服務(wù)器發(fā)送過(guò)來(lái)的數(shù)據(jù)
    recvData = tcp_client_socket.recv(1024)
    if len(recvData) != 0:
        try:
            # 返回的參數(shù) cmd=2&uid=xxx&topic=PC001&msg=on
            res = recvData.decode('utf-8')
            if res.endswith('\r\r\n'):
                res = res.replace('\r\r\n', '')
            print("時(shí)間:{}-->服務(wù)啟動(dòng)".format(nowTime()))
            print('時(shí)間:{}-->接收到數(shù)據(jù):{}'.format(nowTime(),res))
            if 'topic=PC1001' in res:
                sw = str(res.split('&')[3].split('=')[1]).strip()
                if str(sw) == str("on"):
                    try:
                        print("時(shí)間:{}-->正在打開(kāi)電腦1".format(nowTime()))
                        os.system(wol1)
                    except():
                        time.sleep(2)
                        print("打開(kāi)電腦1失敗")
                elif str(sw) == str("off"):
                    try:
                        print("時(shí)間:{}-->正在關(guān)閉電腦1".format(nowTime()))
                        os.system(shutdown1)
                    except():
                        time.sleep(2)
                        print("關(guān)閉電腦1失敗")
            elif 'topic=PC2001' in res:
                sw = str(res.split('&')[3].split('=')[1]).strip()
                if str(sw) == str("on"):
                    try:
                        print("時(shí)間:{}-->正在打開(kāi)電腦2".format(nowTime()))
                        os.system(wol2)
                    except():
                        time.sleep(2)
                        print("打開(kāi)電腦2失敗")
                elif str(sw) == str("off"):
                    try:
                        print("時(shí)間:{}-->正在關(guān)閉電腦2".format(nowTime()))
                        os.system(shutdown2)
                    except():
                        time.sleep(2)
                        print("關(guān)閉電腦2失敗")
            if 'topic=PC3001' in res:
                sw = str(res.split('&')[3].split('=')[1]).strip()
                if str(sw) == str("on"):
                    try:
                        print("時(shí)間:{}-->正在打開(kāi)電腦3".format(nowTime()))
                        os.system(wol3)
                    except():
                        time.sleep(2)
                        print("打開(kāi)電腦3失敗")
                elif str(sw) == str("off"):
                    try:
                        print("時(shí)間:{}-->正在關(guān)閉電腦3".format(nowTime()))
                        os.system(shutdown3)
                    except():
                        time.sleep(2)
                        print("關(guān)閉電腦3失敗")
        except():
            time.sleep(2)
    else:
        print("conn err")
        connTCP()

啟動(dòng)腳本 vim wolSetup.sh

#!/bin/bash
nohup /usr/bin/python3 -u /root/wolup.py 1>/root/wolup.log 2>&1 &

給與執(zhí)行權(quán)限chmod +x wolSetup.sh
加入開(kāi)機(jī)啟動(dòng)
vim .bashrc 后面加上

# wol run
if [ -f /root/wolSetup.sh ]; then
      ./root/wolSetup.sh
fi

以為鏈接可能會(huì)斷加入定時(shí)任務(wù)
安裝 cron
apt install cron
加入定時(shí)任務(wù)
crontab -e最后插入

# 每2小時(shí)啟動(dòng)一次
0 */2 * * * ps -aux | grep wolup.py | grep -v grep | awk '{print $2}' | xargs kill -15; nohup /usr/bin/python3 -u /root/wolup.py 1>/root/wolup.log 2>&1 &

注意: 把ps -aux | grep wolup.py | grep -v grep | awk '{print $2}' | xargs echo 輸入控制臺(tái)先看看是不是把pid給弄出來(lái)了,如果不是吧$后面的數(shù)字改成1,2,3…一個(gè)一個(gè)實(shí)驗(yàn),不然程序沒(méi)干掉就無(wú)法重啟

查看定時(shí)任務(wù)
service cron status
由于容器的原因定時(shí)任務(wù)未能開(kāi)機(jī)啟動(dòng),模仿ssh和wolup.py的方式加入開(kāi)機(jī)啟動(dòng)
vim .bashrc ./root/wolSetup.sh后面加上
service cron start文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-781340.html

window也可以安裝openssh的服務(wù)端和客戶端 ,百度搜一下,關(guān)機(jī)需要使用

另外 wolup.log 是日志可以觀察一下哪個(gè)環(huán)節(jié)有問(wèn)題

到了這里,關(guān)于天貓精靈/小愛(ài)同學(xué)+巴法云+Openwrt控制局域網(wǎng)電腦/群暉開(kāi)關(guān)機(jī)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用小愛(ài)同學(xué)語(yǔ)音控制電腦關(guān)機(jī) - Winform C#

    使用小愛(ài)同學(xué)語(yǔ)音控制電腦關(guān)機(jī) - Winform C#

    小愛(ài)同學(xué)應(yīng)該已經(jīng)是家喻戶曉的了,現(xiàn)在一直用來(lái)控制家里的家電。于是乎突發(fā)奇想想用來(lái)操作電腦上的軟件會(huì)怎么樣,比如打開(kāi)某個(gè)程序不用再去尋找,直接喊小愛(ài)同學(xué)打開(kāi),真的很方便,現(xiàn)在先來(lái)實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的,用小愛(ài)同學(xué)來(lái)控制電腦關(guān)機(jī)。當(dāng)然只是關(guān)機(jī),開(kāi)機(jī)還需

    2024年02月11日
    瀏覽(15)
  • 小愛(ài)同學(xué)接入chatGPT

    最近入手了一款小愛(ài)音響,想著把小愛(ài)音響接入 GPT, 在 github 上找了一個(gè)非常優(yōu)秀的開(kāi)源項(xiàng)目,整個(gè)過(guò)程還是比較簡(jiǎn)單的,一次就完成了。 其中最難的技術(shù)點(diǎn)是 如何獲取與小愛(ài)的對(duì)話記錄?如何讓小愛(ài)播放文本? 讓我自己想的話,估計(jì)就是想著各種辦法去破解小愛(ài)同學(xué),但

    2024年02月04日
    瀏覽(24)
  • 小愛(ài)同學(xué)語(yǔ)音API(不需要小米賬號(hào))

    小愛(ài)同學(xué)語(yǔ)音API(不需要小米賬號(hào))

    先看下運(yùn)行效果 1找一個(gè)免費(fèi)的API接口 輸入你好,返回參數(shù)如下 參數(shù)分析: txt為返回文字 tts為返回文字的語(yǔ)音網(wǎng)址 2返回文字部分 3語(yǔ)音部分處理 (1)語(yǔ)音爬取 (2)語(yǔ)音播放 4找個(gè)紙片人讓他動(dòng)起來(lái) 附:下面來(lái)幾個(gè)GIF 如果上面的你都不滿意,看看這張雷軍的 3Q! 完整代碼

    2024年02月12日
    瀏覽(19)
  • ESP32接入米家-小愛(ài)同學(xué)-IDF環(huán)境-巴法平臺(tái)

    ESP32接入米家-小愛(ài)同學(xué)-IDF環(huán)境-巴法平臺(tái)

    冬天床邊沒(méi)有開(kāi)關(guān),睡覺(jué)懶得關(guān)燈,想通過(guò)小愛(ài)同學(xué)控制燈的開(kāi)關(guān),但是不想換開(kāi)關(guān)。 所以 想用ESP32接入米家,控制一個(gè)舵機(jī)實(shí)現(xiàn)開(kāi)關(guān)控制。 Message Queuing Telemetry Transport,消息隊(duì)列傳輸探測(cè) ISO 標(biāo)準(zhǔn)下的一種基于發(fā)布-訂閱模式的消息協(xié)議,基于 TCP/IP 協(xié)議簇,用于 IoT 即物聯(lián)

    2024年01月20日
    瀏覽(20)
  • 電腦入米家,讓小愛(ài)同學(xué)隨意操控電腦開(kāi)關(guān)機(jī)(需主機(jī)或軟路由)

    電腦入米家,讓小愛(ài)同學(xué)隨意操控電腦開(kāi)關(guān)機(jī)(需主機(jī)或軟路由)

    我的筆電在家里就是臺(tái)臺(tái)式電腦了(半年沒(méi)有挪過(guò)屁股),在公司使用Frp做了內(nèi)網(wǎng)穿透用于遠(yuǎn)程控制,但是晚上關(guān)機(jī)了第二天早上常常忘記開(kāi)機(jī)…好麻煩~ 最近買了個(gè)小愛(ài)音箱,控制家居方便得很,就心想能不能直接讓勤勞的小愛(ài)同學(xué)幫我開(kāi)關(guān)電腦呢?上網(wǎng)搜搜還真有挺多人

    2024年02月07日
    瀏覽(22)
  • 天貓精靈家居對(duì)接第三方設(shè)備(詳細(xì)版)

    天貓精靈家居對(duì)接第三方設(shè)備(詳細(xì)版)

    提示:文章寫(xiě)完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔· 文章目錄 前言 補(bǔ)充準(zhǔn)備階段(內(nèi)網(wǎng)映射到外網(wǎng)) 一、天貓精靈官網(wǎng)配置準(zhǔn)備 二、天貓精靈部分實(shí)現(xiàn)代碼 三、天貓精靈配置技能廣場(chǎng) 四、天貓精靈語(yǔ)音調(diào)試測(cè)試 總結(jié) 隨著物聯(lián)網(wǎng)的發(fā)展,眾多的硬件

    2024年02月06日
    瀏覽(26)
  • AI測(cè)試|天貓精靈智能音箱測(cè)試策略與方法

    AI測(cè)試|天貓精靈智能音箱測(cè)試策略與方法

    2014年11月,亞馬遜推出了一款全新概念的智能音箱:Echo,這款產(chǎn)品最大的亮點(diǎn)是將智能語(yǔ)音交互技術(shù)植入到傳統(tǒng)音箱中,從而賦予了音箱人工智能的屬性。這個(gè)被稱為“Alexa”的語(yǔ)音助手可以像你的朋友一樣與你交流,同時(shí)還能為你播放音樂(lè)、新聞、網(wǎng)購(gòu)下單、Uber叫車、訂外

    2024年02月06日
    瀏覽(24)
  • ChatGPT聊天機(jī)器人搭建全攻略精心整理匯總:微信 Discord 小愛(ài)同學(xué) VSCode QQ 飛書(shū) Siri OpenAI Translato翻譯插件

    一、ChatGPT接入微信: ChatGPT接入微信 ChatGPT近期以強(qiáng)大的對(duì)話和信息整合能力風(fēng)靡全網(wǎng),可以寫(xiě)代碼、改論文、講故事,幾乎無(wú)所不能,這讓人不禁有個(gè)大膽的想法,能否用他的對(duì)話模型把我們的微信打造成一個(gè)智能機(jī)器人,可以在與好友對(duì)話中給出意想不到的回應(yīng),而且再

    2024年02月04日
    瀏覽(21)
  • [路由][問(wèn)題]OpenWrt解決局域網(wǎng)設(shè)備無(wú)法通過(guò)域名訪問(wèn)主機(jī)的問(wèn)題

    [路由][問(wèn)題]OpenWrt解決局域網(wǎng)設(shè)備無(wú)法通過(guò)域名訪問(wèn)主機(jī)的問(wèn)題

    1. 問(wèn)題描述 測(cè)試發(fā)現(xiàn)使用OpenWrt進(jìn)行端口端口轉(zhuǎn)發(fā)或者Upnp之后,本地局域網(wǎng)設(shè)備使用域名訪問(wèn)主機(jī)但是卻無(wú)法訪問(wèn)。 2. 問(wèn)題分析 此問(wèn)題經(jīng)過(guò)查詢屬于\\\"NAT環(huán)回問(wèn)題\\\",但是OpenWrt在做端口轉(zhuǎn)發(fā)時(shí)自動(dòng)設(shè)置了NAT環(huán)回,,而且已經(jīng)將WAN口入站數(shù)據(jù)和轉(zhuǎn)發(fā)設(shè)置為“接受”但是無(wú)效。。

    2024年02月16日
    瀏覽(25)
  • ESP8266、ESP32實(shí)現(xiàn)小愛(ài)語(yǔ)音控制燈

    ESP8266、ESP32實(shí)現(xiàn)小愛(ài)語(yǔ)音控制燈

    項(xiàng)目說(shuō)明: 通過(guò)ESP8266、ESP32實(shí)現(xiàn)小愛(ài)語(yǔ)音控制燈,通過(guò)巴法云實(shí)現(xiàn)米家-小愛(ài)控制ESP32模塊。通過(guò)網(wǎng)絡(luò)搜索資料隨多但沒(méi)找到完整項(xiàng)目說(shuō)明,為了節(jié)約大家學(xué)習(xí)時(shí)間,特此整理,跟著步驟可以實(shí)現(xiàn)以上功能。 技術(shù)無(wú)止境,項(xiàng)目由于是C、C++庫(kù)實(shí)現(xiàn),需要學(xué)習(xí)的知識(shí)還有很多,能

    2024年02月14日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包