|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
11.04.2018, 23:50 | #1 |
Новичок
Регистрация: Dec 2016
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Температура наружного воздуха из интернета
Автоматика вентиляции построена на 2G(управление) и Trim(визуализация) подключенных через роутер(с выходом в интернет).
Может кто-то уже делал получение температуры из интернета? Работает? Как это реализовать? Спасибо. |
12.04.2018, 10:47 | #2 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Температура наружного воздуха из интернета
Ну я бы делал так:
Пишете скрипт, который через curl, например, получает от api какого-нибудь погодного сайта (яндекс.погода, гисметео, и так далее), информацию, затем от туда, можно прям через grep получить действующее значение температуры и выводить его в шаред мемори, от туда в лоджик. Явный недостаток: изменение версии api может привести к невозможности прочитать температуру. Curl тоже придётся отдельно поставить на контроллер, так как в заводской сборке его нет, но это легко. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
05.01.2024, 11:43 | #3 |
Новичок
Регистрация: Dec 2016
Сообщения: 5
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Добрый день, меня тоже интересует эта тема, прошу поддержать опытных коллег.
Поскольку не имею опыта в программировании, с помощью GPT написал небольшой скрипт weather2_fixed.sh, который умеет считывать данные с API openweathermap.org и записывает в файл weather_data.json. Поместил скрипт в /projects/weather/ , но он запускается пока только вручную, cron почему-то не смог его запустить по расписанию. Чтобы запустить скрипт вручную я подключаюсь через WinSCP, затем запускаю Putty и из командной строки мне необходимо сначала ввести пароль, затем перейти в директорию где находится скрипт, затем ввести bash weather2_fixed.sh. При этом скрипт начинает работать и с указанной периодичностью обновляет данные. Если закрыть сессию Putty, процесс прерывается. Теперь вопрос: как заставить этот скрипт запускаться автоматически либо с cron, либо по автозапуску и записывать считанные данные в соответствующий shmem ? Код:
#!/bin/bash while true; do # Отправляем запрос к API погоды и сохраняем ответ в файл wget -O weather_data.json "http://api.openweathermap.org/data/2.5/weather?q=City&appid=YOUR_API_KEY&units=metric"" # Извлекаем значение температуры из файла с помощью grep temperature=$(grep -o '"temp":[0-9.]*' weather_data.json | awk -F':' '{print $2}') # Выводим значение температуры echo "Текущая температура: $temperature градусов Цельсия" # Записываем значение температуры в файл (например, temperature.txt) echo "$temperature" > temperature.txt # Пауза на 30 минут перед следующим запросом sleep 1800 # 1800 секунд = 30 минут done |
06.01.2024, 13:08 | #4 | |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 352
Благодарил(а): 0 раз(а)
Поблагодарили:
256 раз(а) в 252 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Цитата:
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
|
Благодарность от: |
06.01.2024, 22:17 | #5 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Совершенно неинтересно решать абсолютно бесполезную задачу. Даже в одном небольшом поселке температуры могут различаться на несколько градусов.
__________________ Не являюсь сотрудником Segnetics !!! |
09.01.2024, 10:56 | #6 | |
Новичок
Регистрация: Dec 2016
Сообщения: 5
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Цитата:
Осталось найти метод (скрипт, команду) записи значения температуры из json файла в shmem переменную. |
|
09.01.2024, 11:07 | #7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Температура наружного воздуха из интернета
В справке этого точно нет?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
09.01.2024, 13:14 | #8 |
Новичок
Регистрация: Dec 2016
Сообщения: 5
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Мои познания в этом очень ограничены - нейросеть генерировала следующие подходы на базе справки:
Код:
#!/bin/bash while true; do # Читаем значение температуры из файла weather_data.json temperature=$(grep -o '"temp":[0-9.]*' weather_data.json | awk -F':' '{print $2}') # Создаем объект Shmem и сохраняем значение температуры shmem=$(new Shmem) shmem.saveVariables([{ name: "temperature", value: "$temperature" }]) # Пауза перед следующим обновлением sleep 300 # Например, ждем 5 минут перед следующим обновлением done Код:
#!/bin/bash # Функция для выполнения запроса авторизации function authenticate { local login=$1 local password=$2 wget -qO- "http://192.168.2.222/login.php?login=$login&password=$password" &> /dev/null } # Функция для отправки данных в shmem function send_to_shmem { local name=$1 local value=$2 echo "Trying to send: Name - $name, Value - $value" # Добавим вывод данных для отладки wget -qO- "http://192.168.2.222/shmem.php?cmd=setvariables&variables=[{\"name\":\"$name\",\"value\":$value}]" &> /dev/null } # Ваши учетные данные для авторизации login="root" password="segnetics" # Авторизация authenticate "$login" "$password" |
09.01.2024, 13:55 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Нейросеть справку почитала, это я понял. Вы-то лично её изучали?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
09.01.2024, 14:15 | #10 |
Новичок
Регистрация: Dec 2016
Сообщения: 5
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Да, создание веб-страницы по инструкции осилил, но дальше не пошло.
|
09.01.2024, 14:53 | #11 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Блин, надо присмотреться к ИИ.
Интересно кто теперь сапиенс __________________ Не являюсь сотрудником Segnetics !!! |
09.01.2024, 14:56 | #12 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Ага, я тож первое, что подумал - это рождается новый класс программистов.
PS. Но в итоге нейросеть рано или поздно запрограммирует своего потомка, а "программист" этого даже понять не сможет. Думаю, именно это будет началом конца, а не Скайнет Добавлено через 42 секунды Там есть пример чтения или записи шмема? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
09.01.2024, 15:19 | #13 |
Новичок
Регистрация: Dec 2016
Сообщения: 5
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Температура наружного воздуха из интернета
Там пример записи шмема из веб страницы, но мне нужно без веб страницы
|