А что тут сравнивать?Слева esp Witty cloud и wemos d1 mini, справа Малинка.
@jia давайте сравним
Древняя малина на порядок качественнее рассчитана и исполнена по по печатной плате
А что тут сравнивать?Слева esp Witty cloud и wemos d1 mini, справа Малинка.
@jia давайте сравним
Ок, уговорилиА я в упор не вижу никакой разницы между вот этими двумя платами по качеству изготовления. Однако можно отметить, что рядом с основным чипом на малинке нет ни одного развязывающего конденсатора. Довольно странно, что она вообще работает с таким дизайном. Сейчас даже самые дубовые китайцы таких ляпов уже не делают.
Посмотреть вложение 2255 Посмотреть вложение 2256
Это тут причем? Вы несли галиматью о материях, в которых ни шиша не смыслите. На что получили обоснованные возражения. Эмоции можете оставить при себе, они никому не интересны.Изобретайте велосипед
Я точно также могу пожелать Вам удачи в загромождении умного дома ненужными железками, усложняя систему, когда вместо этого надо всего немного покодить. На самом деле это просто разные концепции. Ни одна из не лучше и не правильнее другой. Каждый выбирает то, что ему больше нравится или проще для понимания.Ок, уговорили
Изобретайте велосипед, пишите свои алгоритмы группового кругового опроса еспшек друг друга.
Удачно покодить в тот момент, когда для этого нужно добавить всего пару строчек кода на главную железку
Какие эмоции?Это тут причем? Вы несли галиматью о материях, в которых ни шиша не смыслите. На что получили обоснованные возражения. Эмоции можете оставить при себе, они никому не интересны.
Давайте вернемся к тому же первому вашему постуЯ точно также могу пожелать Вам удачи в загромождении умного дома ненужными железками, усложняя систему, когда вместо этого надо всего немного покодить. На самом деле это просто разные концепции. Ни одна из не лучше и не правильнее другой. Каждый выбирает то, что ему больше нравится или проще для понимания.
Берете router с WiFi, который по отзывам менее всех глючит, ставите туда OpenWRT... а не какие-то тяпляпки на малинах....Как все должно происходить?
Жесть какаяБерете router с WiFi, который по отзывам менее всех глючит, ставите туда OpenWRT... а не какие-то тяпляпки на малинах....
Малины и прочие конструкторы собираете и несете в кружок детского творчества. Там им самое место и используют по назначению...
А что сможет малина или ещё какая платка(?), к которой надо ещё всякого понавтыкать, найти корпус, проверить на надежность работы, пожарные всякие дела (как горит) и т.д. и т.п.Жесть какая
И что тот роутер сможет в контексте разговора?
Сама плата малины не работает. Надо ещё много чего к ней прикрутить...ЗЫ. В каком месте малина конструктор? Всего-то сама плата и дебиан, чему там глючить?
Ну в идеале и еспшке корпус нужен, например та же электрическая коробка или еще что пластмассовоеА что сможет малина или ещё какая платка(?), к которой надо ещё всякого понавтыкать, найти корпус, проверить на надежность работы, пожарные всякие дела (как горит) и т.д. и т.п.
А пацаны то и не знают!Сама плата малины не работает. Надо ещё много чего к ней прикрутить...
Да никак, включается и дальше работает... файловая система журналируемаяУ меня вот есть практически все версии малин и не в одном экз. - ищу детский кружок, куда их сдать...
Ваша малина с дебиан работает от UPS (ИБП) ?
Если нет, то просьба рассказать как работает процедура загрузки дебиан с SD карты у которой утеряна разметка из-за выключения питания не вовремя.
Вот у меня вся эта кухня начала управлять отоплением (включать выключать котел) и коллектором водного теплого пола... полом управляет библиотека на основе ШИММогу сразу оговорить – вопросов ещё будет много и дешевых решеный их в случае использования “малины с дебиан” не будет. После их решения, стоимость такой системы “на малине с дебиан” будет составлять не менее нескольких десятков тысяч рублей. Иначе это детская поделка для написания вечернего блога и не сможет конкурировать с простейшим решением на уже имеющейся аппаратной части во множестве роутеров, куда устанавливается OpenWRT.
Для базы данных и масштабных логов fhem - у меня raid5 на основе флешек, там отказоустойчивость космическая... для особой надежности онлайн - всегда можно подключить по сети iscsi жесткий дискВозможно есть ещё более надежные, подходящие и более дешевые решения для “главнокомандующего умным домом”, но не “малины с дебиан” на SDкарте или USB-брелке, куда даже нельзя сливать логи или строить базы данных... об остальном пока умолчу. Подожду вашего решения на первый вопрос с бедами у SD...
Тут не совсем верное утверждение. Поскольку я только осваиваю ЕСП, то какого-то окончательного и бесповоротного решения у меня нет. За что и был неоднократно здесь обвинен в дилетантстве, с чем покорно соглашаюсь. И лог на флешку это был только один из предполагаемых вариантов. На данный момент я хочу освоить работу с внутренные файловой системой ЕСП и, если ее возможностей будет достаточно, то на ней и остановиться.вы отошли от темы, где автор хочет логироваться на флешку..
snprintf ( temp, 400,
"
<html>\
<head>\
<meta http-equiv=refresh content='5'/>\
<title>ESP8266 Demo</title>\
<style>\
body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\
</style>\
</head>\
<body>\
<h1>Hello from ESP8266!</h1>\
<p>Uptime: %02d:%02d:%02d</p>\
<canvas id=example>Обновите браузер</canvas>\
<script>\
var example = document.getElementById('example'),\
ctx = example.getContext('2d');\
example.width = 64;\
example.height = 64;\
ctx.beginPath();\
ctx.arc(32, 10, 6, 0,Math.PI, true);\
ctx.moveTo(26,10);\
ctx.lineTo(26,50);\
ctx.moveTo(38,10);\
ctx.lineTo(38,50);\
ctx.lineWidth = 4;\
ctx.moveTo(15,40);\
ctx.lineTo(15,60);\
ctx.lineTo(48,60);\
ctx.lineTo(48,40);\
ctx.stroke();\
</script>\
</body>\
</html>\
",
hr, min % 60, sec % 60
);
Нет, это я лопухнулся, символ \ в конце строки означает конкатенацию строк. Значит, просто строка у вас слишком длинная получилась. Посылайте строку по частям.В примере AdvancedWebServer, который я взял за основу, каждая строка заканчивается этим символом.
Вроде нашел, то что надо. Ссылка на источник My first web server! - Everything ESP8266. И на всякий случай скопирую код сюда. Пока нет возможности попробовать его скомпилировать. На выходных, думаю, найду время.Не могли бы Вы дать ссылку на пример такого кода? В стандартных примерах я такого не видел, а в интернете пока не нашел.
/* Simple Web Server for ESP8266-12E
* NattyFido 2015
* www.nattyfido.co.uk (shameless plug!)
*/
#include <ESP8266WiFi.h>
const char* ssid = "YOUR-SSID"; // SSID of LAN/WLAN
const char* password = "YOUR-PASSWORD"; // password
const int port = 80; // port to serve pages through
const int led0 = 13;
const int led1 = 12;
const int led2 = 14;
int v1 = 0;
int v2 = 0;
WiFiServer server(port);
void setup() {
Serial.begin(115200); // start serial for debug
delay(10);
pinMode(led0, OUTPUT); // all outputs for LEDs
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
digitalWrite(led0, 0); // all LEDs off to start
digitalWrite(led1, 0);
digitalWrite(led2, 0);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password); // connect to WiFi network
while (WiFi.status() != WL_CONNECTED) { // wait until connected
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
server.begin(); // Start the server
Serial.println("Server started");
Serial.println(WiFi.localIP()); // Print the servers IP address
}
void loop() {
WiFiClient client = server.available(); // Check if a client has connected
if (!client) {
return;
}
Serial.println("New client"); // Wait until the client sends some data
while (!client.available()) {
delay(1);
}
String req = client.readStringUntil('\r'); // Read the first line of the request
Serial.println(req);
client.flush();
if (req.indexOf("/led1/0") != -1) // if req = /led1/0
v1 = 0; // set flag to turn LED1 off
else if (req.indexOf("/led1/1") != -1) // if req = /led1/1
v1 = 1; // set flag to turn LED1 on
else if (req.indexOf("/led2/0") != -1) // if req = /led2/0
v2 = 0; // set flag to turn LED2 off
else if (req.indexOf("/led2/1") != -1) // if req = /led2/1
v2 = 1; // set flag to turn LED2 on
else {
Serial.println("Invalid request"); // URL not recognised
String r = HTMLHeader(); // display home page
r += HTMLPage();
r += HTMLFooter();
client.print(r); // send page to clients browser
client.stop(); // disconnect client
return;
}
digitalWrite(led1, v1); // set LED1 according to v1
digitalWrite(led2, v2); // set LED2 according to v2
client.flush();
String s = HTMLHeader(); // display page
s += HTMLPage();
s += HTMLFooter();
digitalWrite(led0, 1); // page is being sent
client.print(s); // send the response to the client
client.stop(); // disconnect client
digitalWrite(led0, 0); // finished sending page
delay(1);
Serial.println("Client disonnected");
Serial.println("");
}
String HTMLHeader() { // standard HTML header
String h = "HTTP/1.1 200 OK\r\n";
h += "Content-Type: text/html\r\n\r\n";
h += "<!DOCTYPE HTML>\n";
h += "<html>\n";
h += "<body>\n";
return h;
}
String HTMLFooter() { // standard HTML footer
String f = "<table width=\"100%\" bgcolor=\"black\" cellpadding=\"12\" border=\"0\">\n";
f += "<tr><td><p style = \"color: white; background: black;font-size: 0.8em;";
f += "font-weight: bold; text-align: center; margin: 0px 10px 0px 10px;\">\n";
f += "<a href = \"http://www.nattyfido.co.uk\">Dean Fowler</a> © 2015</p></td></tr>";
f += "</table>";
f += "</body>\n";
f += "</html>\n";
return f;
}
String HTMLPage() { // main HTML for page, edit to suit your application
String p = "<h1>Simple Webserver</h1>\n";
p += "<p>Running on a <b>ESP8266-12E</b></p>\n";
p += "<p>Code written in <b>Arduino IDE</b> by <i>NattyFido</i></p>\n";
// display links depending on current state of LEDs 1 & 2
p += (v1) ? "<p><a href = \"/led1/0\">Turn LED 1 off</a></p>\n" : "<p><a href = \"/led1/1\">Turn LED 1 on</a></p>\n";
p += (v2) ? "<p><a href = \"/led2/0\">Turn LED 2 off</a></p>\n" : "<p><a href = \"/led2/1\">Turn LED 2 on</a></p>\n";
return p;
}
Флешки или SD карты использовать без аппаратного дополнения в виде супервайзера питания с допитыванием их на время "парковки" при выключении общего питания невозможно. Такова их аппаратно-программная структура - при любой записи они переписывают общую разметку всей памяти и если во время этого дела сбой - больше нет этой флашки и требуется низкоуровневый формат программой от производителя контроллера...Вам не кажется, что с какими-то комплексами в сторону малины (или незнание линуксов-юниксов?) вы отошли от темы, где автор хочет логироваться на флешку... Почему вы думаете, что флешка на малине умрет, а на еспшке - нет?
Ну вот - стоимость уже переваливает за комплекс с SSD или Скази винч.Для базы данных и масштабных логов fhem - у меня raid5 на основе флешек, там отказоустойчивость космическая... для особой надежности онлайн - всегда можно подключить по сети iscsi жесткий диск
Называется тернарный оператор. Простое описание Оператор ?: (справочник по C#)Как это называется и где можно подробнее прочитать про это?
Присоединяюсь.Флешки или SD карты использовать без аппаратного дополнения в виде супервайзера питания с допитыванием их на время "парковки" при выключении общего питания невозможно. Такова их аппаратно-программная структура - при любой записи они переписывают общую разметку всей памяти и если во время этого дела сбой - больше нет этой флашки и требуется низкоуровневый формат программой от производителя контроллера...
А т.к. структура такая дикая (писалась и разрабатывалась какимими-то школьниками), что при записи одного байта надо переписывать все глобальные таблицы, то любая база данных за пару дней убивает их. Если даже как-то решено с резервированием этих таблиц, то аппаратная часть позволяет записывать минимум один блок. А это при записи одного бита требует стирание и перезапись от 64 килобайтного блока. На современных больших - от 128 килобайтного...
В связи с этим, все ваши разговоры о ПО на неработающей (не подходящей) аппаратной базе ни к чему. В роутерах стоит обычная Flash и там при вк./откл питания предел потерь составляет последний записанный сектор и ПО для этого приспособлено.
Ну вот - стоимость уже переваливает за комплекс с SSD или Скази винч.
Комическая у вас устойчивость - видно, что данный конфиг использовался один вечер, в целях проверки общей работоспособности, а не в режиме 24 часа 365 дней в году...