ТЕМА: "Украинские" часы - из китайских комплектующих)))
"Украинские" часы - из китайских комплектующих)))
07 січ. 2018 21:41 #1
IvanUA
Оффлайн
Користувач
Я только учусь)))
Дописи: 15
Подякували: 25
Так уж получилось - задумки тут ни какой не было, но пришел мне с али экранчик двухцветный (желто/синий)
Собрал часики с термометром.
А потом подумал - а замечательно ведь получилось)))
Если есть желающие повторить:
- ESP-32(можно использовать и просто ESP8266) + (Espruino прошивка);
- SSD1306 - этот замечательный экранчик;
- BMP-280 - датчик температуры и давления.
Прошивка (ява скрипт) вот:
var ssid = 'Slava_Ukraini';
var password = 'Gerojam_Slava';
var wifi = require('Wifi');
var wifiStat = false;
var http = require("http");
var hour, minute, second, timestr="Ukraini Slava!!!", temp_act=2018, press_act=07.01;
I2C1.setup({scl:D22,sda:D21});
var bme = require("BMP280").connect(I2C1);
var g = require("SSD1306").connect(I2C1);
function ledPrint(){
g.clear();
g.setFontVector(24);
if(wifiStat) timestr += ".";
g.drawString(timestr,0,0);
g.setFontVector(16);
g.drawString("temp=" + temp_act + "C",8,28);
g.setFontVector(12);
g.drawString("press=" + press_act + "mmHg",0,48);
g.flip();
}
function tempPrintConsol() {
bme.readRawData();
temp_act = (bme.calibration_T(bme.temp_raw)/100.0).toFixed(1);
press_act = (bme.calibration_P(bme.pres_raw)/100.0*0.75006375541921).toFixed(1);
console.log (" Temperature: " + temp_act + "°C. Pressure: " + press_act + " mmHg");
}
function timePrint() {
var date = new Date();
hour = date.getHours();
timestr = (hour < 10 ? "0" : "") + hour + ":";
minute = date.getMinutes();
timestr += (minute < 10 ? "0" : "") + minute + ":";
second = date.getSeconds();
timestr += (second < 10 ? "0" : "") + second;
ledPrint();
}
//-----ПОДКЛЮЧЕНИЕ К WIFI
function getwifi(){
console.log("Start connect WiFi!");
wifi.connect(ssid, {password: password});
wifi.on("connected", function(details) {
console.log("Connected with IP " + details.ip);
wifiStat = true;
http.get("http://www.espruino.com", function(res) {
setTime(Date.parse(res.headers.Date)/1000+3600*2);
d= new Date();
console.log(d,d.toString());
res.on('data', function(data) {
});
});
});
wifi.on("disconnected", function(details) {
wifiStat = false;
console.log("Disconnected from WLAN " + ssid);
wifi.connect(ssid, {password: password});
});
wifi.on("dhcp_timeout", function() {
console.log("DHCP timeout!");
});
}
ledPrint();
getwifi();
tempPrintConsol();
setInterval(tempPrintConsol, 30000);
setInterval(timePrint, 1000);
Маленькое видео с презентацией тут
Останнє редагування: 07 січ. 2018 22:16 від IvanUA.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: sergey380, Анатолій, Vakula
"Украинские" часы - из китайских комплектующих)))
07 січ. 2018 22:40 #2
Igr44
Оффлайн
I live here
der tod der russischen schweinen
Дописи: 1237
Подякували: 56
С какой максимальной длинной проводов могут работать датчики типа бмп-бме280? Метров 5 они вытянут?
Увійдіть до облікового запису, щоб писати повідомлення.
"Украинские" часы - из китайских комплектующих)))
07 січ. 2018 22:57 #3
IvanUA
Оффлайн
Користувач
Я только учусь)))
Дописи: 15
Подякували: 25
Все ограничивается характеристиками шины I2C.
Думаю что и от типа провода и подтягивающих резисторов тоже зависит.
Ради интереса погуглил что пишут в нете, 5-10 метров.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: Igr44
"Украинские" часы - из китайских комплектующих)))
07 січ. 2018 23:06 #4
wolf2000
онлайн
Moderator
Слава Україні !!! Смерть ворогам
Дописи: 980
Подякували: 252
IvanUA пише:
А потом подумал - а замечательно ведь получилось)))
Только бы развернуть, лани (жовтий) знизу IvanUA пише:
Прошивка (ява скрипт) вот:
SSID и Pass зачотні
"Борітеся — поборете!
Вам Бог помагає!
За вас правда, за вас слава
І воля святая!"
________________________
Save Ukraine! Stop Putin!
Останнє редагування: 07 січ. 2018 23:08 від wolf2000.
Увійдіть до облікового запису, щоб писати повідомлення.
"Украинские" часы - из китайских комплектующих)))
07 січ. 2018 23:30 #5
Igr44
Оффлайн
I live here
der tod der russischen schweinen
Дописи: 1237
Подякували: 56
та то индикаторы такие у шанхайцев они специально делают верхнюю часть другим цветом чтобы иконки вверху были более контрастны.
Увійдіть до облікового запису, щоб писати повідомлення.
"Украинские" часы - из китайских комплектующих)))
15 січ. 2018 16:02 #6
Анатолій
Оффлайн
Harness is online
Дописи: 30
Подякували: 7
Igr44 пише:
та то индикаторы такие у шанхайцев .
Екран можна перевернути. І ще одна репліка, якщо годинник український може press замінити на тиск і т.д.
У вас царь, у нас демократия
Никогда мы не будем братьями.
Увійдіть до облікового запису, щоб писати повідомлення.
"Украинские" часы - из китайских комплектующих)))
19 січ. 2018 10:06 #7
IvanUA
Оффлайн
Користувач
Я только учусь)))
Дописи: 15
Подякували: 25
Все можливо. Тільки думаю для цього треба буде відмовитися від стардартних бібліотек, и написати щось своє, бо як я зрозумів, то бібліотека екрану не підтримує кіріліцу, та зміну куту відображення.
А в загалі, цей скрипт був тільки як приклад праці з екраном такого типу, та чуйником температури. Але як писав вище - просто так сталося, що файно виглядає))))
Останнє редагування: 19 січ. 2018 10:07 від IvanUA.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: Oto, Анатолій
"Украинские" часы - из китайских комплектующих)))
21 січ. 2018 21:57 #8
Анатолій
Оффлайн
Harness is online
Дописи: 30
Подякували: 7
Та я в програмуванні нуль, тому і думаю що все так просто.
У вас царь, у нас демократия
Никогда мы не будем братьями.
Увійдіть до облікового запису, щоб писати повідомлення.
"Украинские" часы - из китайских комплектующих)))
29 січ. 2023 22:15 #9
Сергій
Оффлайн
Користувач
Дописи: 1
Шукав подібні. але не вдалося залити прошивку( Жалко
Увійдіть до облікового запису, щоб писати повідомлення.