У продовженні попередньої реанімації роутера TP-Link TL-MR3420 встановлюю flash пам'ять на 8МБ. І нотую для себе крок за кроком.
Персональний блог на різноманітні теми: від кулінарії до мережевої безпеки.
У продовженні попередньої реанімації роутера TP-Link TL-MR3420 встановлюю flash пам'ять на 8МБ. І нотую для себе крок за кроком.
Скрипт для ash сценарію в OpenWRT.
Пошук активних WiFi пристроїв за їх MAC адресою, і якщо такий є то надсилання повідомлення до MQTT брокера зі станом пристрою при зміні стану. А інший скрипт надсилає стан вже до Телеграм каналу..
#!/bin/sh
uUser1='00:13:33:44:11:77'
uUser2='00:3D:33:5D:11:39'
users="User1 User2"
next=
function publish()
{
mosquitto_pub -t "$1" -m "$2" -r
}
#MAIN
sleep 120
for m in $users; do
eval p${m}=0
done
while true; do
for m in $users; do
um=$(eval "echo \${u${m}}")
us=$(iwinfo wlan0 assoclist | grep -m 1 -c $um )
ps=$(eval "echo \${p${m}}")
if [ "$us" -ne $ps ];then
eval p${m}=$us
if [ -n "$next" ];then
publish "tele/wifi_$m/LWT" "$us"
fi
fi
done
next=1
sleep 90
done
Так як масивів в ash не має, то приходиться використовувати eval для симуляції віртуального масиву.
Створив версію для LUA: Перший код в LUA. Скрипт для роутера з OpenWRT. MQTT та Telegram статус підключених WiFi clients.
tsig-keygen -a HMAC-SHA512 ns240 > ns240.key
ns240.key:
key "ns240"
{ algorithm hmac-sha512;
secret "VLv54K+dqSSk9lF75GKREQI8BT0ZYBs9BraQY3D/6f5b1Aw41NN86BwxRNATu7iDoEAiqTCUOk7B6SfxG7Q30A==";
};
named.conf:
key "ns240.key" {
algorithm hmac-sha512;
secret "VLv54K+dqSSk9lF75GKREQI8BT0ZYBs9BraQY3D/6f5b1Aw41NN86BwxRNATu7iDoEAiqTCUOk7B6SfxG7Q30A==";
};
zone "lexxai.pp.ua"
{
type master;
file "/usr/local/etc/namedb/master/db.lexxai.pp.ua";
allow-query { any; };
update-policy {
grant ns240.key. name _acme-challenge.ns240.lexxai.pp.ua. TXT;
grant ns241.key. name _acme-challenge.ns241.lexxai.pp.ua. TXT;
};
};
|
|
Proxmox ACME DNS plugin |
NSUPDATE_SERVER=ns1.lexxai.pp.ua
NSUPDATE_KEY=/home/nskey/ns240.key
NSUPDATE_ZONE=lexxai.pp.ua
key path: /home/nskey/ns240.key
chown nobody:nogroup /home/nskey/ns240.key
Google Cloud Platform надає можливість використати IoT Core для підключення IoT пристроїв за протоколом MQTT та HTTP.
Приклади налаштування, і основи роботи є на багатьох ресурсах і у відео:
Моя задача створити безпечне підключення до Google IoT Core з консолі свого пристрою і використати мінімум програм:
![]() |
| Зв'язок mqtt topic (ts2) з google topic event (b01) |
![]() |
| Публікація до google topic event (b01) з mosquitto_pub |
![]() |
| Перегляд отриманих повідомлень в google sub підписки на mqtt topic (ts2) |
![]() |
| TP-LINK MP 3420v2 extUSB |
[OpenWrt Wiki] TP-Link TL-MR3420 & TL-MR3220
Нотую для себе, деякі послідовності.
Так як за своєї помилки прибив роутер, то мені і відновлювати.
Так як мені потрібен функціонал якого не має в рідній прошивці, такі як VLAN, MultiAP ... То компілюю OpenWrt для цього роутера з останньою версією. Але флеш пам'ять цього пристрою всього 4МБ і 32МБ оперативної пам'яті, тому використовую зовнішній USB диск, як розширений простір (ext_root). А у подальшому можливо буде заміна флеш на 8МБ.