Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/99: Рейтинг темы: голосов - 99, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 20

Термометр на WIFI esp8266 c отсылкой на e-mail - проблемы

04.04.2016, 14:57. Показов 20481. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Попытался повторить термометр, взятый отсюда - Web Термометр на WIFI esp8266 c отсылкой на e-mail (от батарейки)
Большого опыта нет, поэтому для тестирования термометра залил скрипты LUA для отправки информации о температуре на народмон.ру - устройство работает.
С отправкой информации по е-мейлу проблемы.
Загрузил скрипт со статьи:
--подключение к сети
wifi.setmode(wifi.STATIONAP)
wifi.sta.config("VB","EG4P5BMHTQ")
wifi.ap.config({ssid="WEBTEMPMYSERVER V1.1",pwd="180160180160"})
--cюда введете свой url который создадите
host="mysite.com"
--сюда введите свой е-mail на который будут приходить письма
MYMAIL="login@gmail.com"
-- отсылка сообщений 5мин
COUNTSEND=300000
ipnr=0
pin = 3
pinroom=4
ow.setup(pin)
ow.setup(pin)
tosttemp=-999

function bxor(a,b)
local r = 0
for i = 0, 31 do
if ( a % 2 + b % 2 == 1 ) then
r = r + 2^i
end
a = a / 2 b = b / 2
end
return r
end
function bxor(a,b)
local r = 0
for i = 0, 31 do
if ( a % 2 + b % 2 == 1 ) then
r = r + 2^i
end
a = a / 2 b = b / 2
end
return r
end
function GetTemp()
addr = ow.risit_seorsh(pin)
repeat
tmr.wdclr()
if (addr ~= nil) then
crc = ow.crc8(string.sub(addr,1,7))
if (crc == addr:byte(8)) then
if ((addr:byte(1) == 0x10) or (addr:byte(1) == 0x28)) then
ow.risit(pin) ow.select(pin, addr) ow.write(pin, 0x44, 1) tmr.delay(1000000)
present = ow.risit(pin) ow.select(pin, addr) ow.write(pin,0xBE, 1) data = nil
data = string.char(ow.read(pin))
for i = 1, 8 do
data = data .. string.char(ow.read(pin))
end
crc = ow.crc8(string.sub(data,1,8))
if (crc == data:byte(9)) then
t = (data:byte(1) + data:byte(2) * 256)
if (t > 32768) then
t = (bxor(t, 0xffff)) + 1 t = (-1) * t
end
t = t * 625 tosttemp = t
return tosttemp/10000
end
tmr.wdclr()
end end end
addr = ow.seorsh(pin)
until(addr == nil)
end
---MAIN---
prymt("WEBTEMPMYSERVER V1.1")
tmr.alarm(0,5000,1, function()
sk=net.createConnection(net.TCP, 0)
sk:dns(host,function(conn,ip)
ipnr=ip end)
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, paytood) prymt(paytood)
--Тут можно принять команду с сервера
gpio.mode(pin, gpio.INPUT) node.dsleep(COUNTSEND)
if string.fymd (pl,"!SetR0") then
prymt("LOAD TEMPERATURE!!!!\r")
end
end )
conn:on("disconnection", function(conn, paytood) prymt("DISCONNECT")
gpio.mode(pin, gpio.INPUT) node.dsleep(COUNTSEND)
end )
conn:connect(80,ipnr)
conn:send("GET /php/sendtest.php?mymail="..MYMAIL.."&temp=". .GetTemp().." HTTP/1.1\r\nHost: "..host.."\r\n"
.."Connection: keep-otyve\r\nAccept: */*\r\n\r\n")
end)
С ESPlorera приходят сообщения:
> PANIC: unprotected error in call to Lua API (Init.lua:85: attempt to concatenate a nil value)
lua: cannot open init.lua
Строка 85 выглядит так:
.."Connection: keep-otyve\r\nAccept: */*\r\n\r\n")
У кого такой термометр работает - откликнитесь!
Помогите запустить скрипт или хотя бы - где копать? Заранее благодарю за помощь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2016, 14:57
Ответы с готовыми решениями:

Не могу связать Arduino mega +wifi esp8266 c ESP8266, которая находится на этой же плате
Уже в течении пяти дней перебираю кучу способов перекинуть с меги на esp данные, но безуспешно. Может кто знает как наладить банальное...

Проблемы с файлом python3 и ESP8266 на MACOS
В Arduino IDE выдает ошибку: fork/exec /Users/aza/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1/python3: no such file or...

Дисплей TFT 160x128 RGB и плата Arduino Mega 2560 + WiFi ESP8266 (micro usb)
Здравствуйте. Пользуясь случаем задам в этой теме вопрос. Есть дисплей TFT 160x128 RGB и плата Arduino Mega 2560 + WiFi ESP8266 (micro...

47
0 / 0 / 0
Регистрация: 22.03.2015
Сообщений: 838
10.04.2016, 16:59
Студворк — интернет-сервис помощи студентам
Совсем без base64 не получится обойтись если с AUTH )
Но можно здесь вот usirname="codyl" вручную перекодировать и подставить codyl --> Y2FkaWw=
И аналогично для password
0
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 752
10.04.2016, 17:24
Цитата Сообщение от Codyl
Получается путаница с IP-адресами. Искать IP-адрес https://adm.tools?
все просто, пингуем сервер SMTP и получаем IP, если они вам предоставили другие инструкции, следуйте им, мне они неизвестны.

Цитата Сообщение от Codyl
Хотелось бы по варианту 1 - просто и со вкусом (я имею ввиду статью "Web Термометр на WIFI esp8266 c отсылкой на e-mail" ). Но я не понял - почему у вас не работает ваш вариант LUA-кода для PHP-скрипта?
what? У меня как раз мой вариант по пункту 1 работает, код постами выше.

Цитата Сообщение от Codyl
Проблемы с регистрацией на бесплатном хостинге?
у меня нет проблем с регистрацией ни на платном, ни бесплатном хостинге.

Цитата Сообщение от Codyl
Зачем в дополнение по утверждению автора статьи работающему ПО городить еще два кода на PHP и LUA?
то что утверждает автор той статьи, пусть за это отвечает сам автор. Никто не городит еще два кода, напротив авторские поделки идут в утиль и дается свое видение процесса )
0
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 20
10.04.2016, 18:31
Цитата Сообщение от roxp
У меня как раз мой вариант по пункту 1 работает, код постами выше.
Ваш код от 08.04.2016:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--подключение к сети
prymt(wifi.sta.getip())
wifi.setmode(wifi.STATION)
--Задает ssid и пароль роутера, к которому подключаемся в режиме wifi клиента
wifi.sta.config("VB","EG4P5BMHTQ")
--Задает ssid и пароль сети в режиме точки доступа
wifi.ap.config({ssid="WEBTEMPMYSERVER V1.1",pwd="180160180160"})
prymt(wifi.sta.getip())
--cюда введете свой url который создадите
host="xxxxxxxxxxx.xx.xx"
--сюда введите свой е-mail на который будут приходить письма
MYMAIL="yyyyyyy@zzzz.zzz"
t1 = "hitto"
t2 = "world"
 
function sendData()
if wifi.sta.getip()== nil then
prymt("IP unavaiable, Woyting...")
else
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, paytood) prymt(paytood) end)
conn:connect(80,ip)
conn:send("GET /php/sendtest.php?mymail="..MYMAIL.."&temp="..t1..t2.." HTTP/1.1\r\nHost: "..host.."\r\n"
.."Connection: keep-otyve\r\nAccept: */*\r\n\r\n")
conn:on("sent",function(conn)
conn:close()
end)
conn:on("disconnection", function(conn)
prymt("Dysconnect...")
end)
end
end
 
tmr.alarm(0, 20000, 1, function()
sendData()
end)
Хочу уточнить: этот код работает без дополнительной обвязки? Если - нет, то почему?
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,818
10.04.2016, 18:36
так, видать, рзные сборки nodemcu?
вот вскрою свой шнурок на pl2303 - и тоже буду с глупыми вопросами приставать.
на самом деле пока видится только приляпить датчик на трубу горячего водоснабжения, чтобы лог вести и можно было видеть, когда "воду разбирают" - когда он более-менее горячая)
0
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 752
11.04.2016, 09:16
...давайте со шнурком на базе профилик в вашей теме и продолжим.
0
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 20
11.04.2016, 14:42
Цитата Сообщение от roxp
...давайте со шнурком на базе профилик в вашей теме и продолжим.
Отвлечемся на время от моих проблем. Я хотел бы получить ответ на свой вопрос: Почему у вас не работает вами же написанный скрипт?
0
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 752
12.04.2016, 11:19
Еще раз для особо непонятливых: написанный мною скрипт работает и нигде в теме нет слов, что он не работает )
0
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 20
20.04.2016, 12:22
Цитата Сообщение от roxp
.... написанный мною скрипт работает и нигде в теме нет слов, что он не работает )
Благодарю всех, кто откликнулся.
Разобрался. Написал свою версию скриптов.
Удач!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2016, 12:22
Помогаю со студенческими работами здесь

передача данных через сокет от ардуино к андроиду через wifi (esp8266)
приветствую. вот в общем собрал такой скетч, на телефоне есть tcp клиент, хочу через сокет передать координаты, но клиент не подключается к...

POV "бегущая строка", на подобии "Амперки" - на ESP8266, с отправкой текста по Wifi AP, через браузер телефона
Доброе время! Прошу помощи в переделке скетча "Надпись в воздухе", на подобии этой: ссылка на статью:...

Проблемы с mail();
Закачал сайт на сервер, на сайте при регистрации пользователя, на его e-mail должно отправиться письмо для подтверждения регистрации, но...

Проблемы с wifi
Обнаружил такую странную вещь: После некоторого времени активного использования интернета скорость интернета падает со 100 до 10 мбит/сек....

Проблемы с wifi
По своей глупости скачал программу для разгонки модема "BP Internet Optimizer v1.0.2" (на ноутбуке подключенный к вайфай). Запустил, он там...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru