Ви не увійшли.
Сторінки 1
Здравствуйте
Насколько я Вас понял, в двадцать восьмой строке сообщение-напоминание всё-таки отправляется. Однако броузер не в состоянии адекватно отреагировать на него. Но есть же ещё туз в рукаве - приложение для тестирования программных сокетов Windows «TCP/IP Builder 1.9». Сообщение "<h1>Wam_pismo</h1>" можно принять с помощью TCP/IP Builder-а. Проверку производил по методике, описанной в моём посте от 2017-09-12. Безрезультатно... Почему?
Более того, производил ещё и такой эксперимент. Использовал два ноутбука и ESP8266. Один ноутбук подключался к ESP8266 и проводным способом (USB – кабель, который использовался для программирования) и с использованием беспроводного интерфейса. Создавал беспроводную сеть, в состав которой входили оба ноутбука и модуль ESP8266 в качестве сервера. Подключение ноутбуков производил по стандартной методике подключения к беспроводным сетям. На обоих ноутбуках устанавливался TCP/IP Builder 1.9, который и использовал для обмена данными между ноутбуками. Наблюдал устойчивый полнодуплексный обмен по беспроводному интерфейсу. Не изменяя сетевых настроек, запускал Terminal 1.9b на одном из компьютеров и пытался передавать байты. Опять безрезультатно... Почему? Ничего не изменяя, снова передавал данные с иcпользованием беспроводного интерфейса. Норм. Почему в этом эксперименте по беспроводному интерфейсу данные передаются, а с использованием проводного - нет?
С уважением.
Здравствуйте, уважаемые знатоки.
Ниже приведён листинг программы, которая использовалась для программирования модуля ESP8266 (плата Node MCU с ESP8266 на борту). Программа представляет собой слегка модифицированный пример "WiFiAccessPoint" из раздела "ESP8266WiFi" (Arduino 1.6.4 => Файл/Образцы/ESP8266WiFi/WiFiAccessPoint). Не могли бы Вы подсказать почему девятая строка:
server.send(200, "text/html", "<h1>You are connected to ESP_236</h1>");
выполняется, а аналогичная двадцать восьмая:
// отсылаем по WiFi сообщение-напоминание
server.send(200, "text/html", "<h1>Wam_pismo</h1>");
не выполняется.
Исходные условия следующие. К модулю ESP8266 с помощью проводного соединения (USB – кабель, который используется для программирования) подключался источник сигнала – стационарный ПК без WiFi - модуля. К этому же модулю подключался ноутбук (приёмник сигнала) со встроенным WiFi - приёмопередатчиком по стандартной методике подключения к беспроводным сетям. Со стороны проводного соединения для обмена данными использовалась терминальная программа Terminal 1.9b (http://digitalchip.ru/terminal-1-9b-rabotaem-s-com-portom).
Со стороны беспроводного соединения для приёма данных использовал стандартный браузер (Google Chrome) в адресную строку которого вносил IP-адрес запрограммированной точки доступа (192.168.4.1). Браузер подключается к точке доступа и воспроизводит на страничке результат работы девятой строки программы: "You are connected to ESP_236". Однако, после обмена данными между стационарным ПК и ESP8266, страничка не обновляется. В проводном соединении уверен - принятый UART -ом ESP8266 байт возвращается назад на стационарный ПК (смотри строку №30 листинга).
Почему не работает двадцать восьмая строка? Как передать данные в такой сети?
Спасибо.
ЛИСТИНГ
/* Create a WiFi access point and provide a web server on it. */
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
/* Set these to your desired credentials. */
const char *ssid = "ESPap_236";
const char *password = "AviaWiFi_236";
int incomingByte = 0; // для хранения полученного байта
ESP8266WebServer server(80);
/* Just a little test message. Go to http://192.168.4.1 in a web browser
* connected to this access point to see it.
*/
void handleRoot() {
server.send(200, "text/html", "<h1>You are connected to ESP_236</h1>");
}
void setup() {
delay(1000);
Serial.begin(115200);
Serial.println();
Serial.print("Configuring access point...");
/* You can remove the password parameter if you want the AP to be open. */
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
server.on("/", handleRoot);
server.begin();
Serial.println("my_first_HTTP server started");
}
void loop() {
server.handleClient();
if (Serial.available() > 0) { //если есть доступные данные, полученные по UART
// считываем байт из UART
incomingByte = Serial.read();
// отсылаем по WiFi сообщение-напоминание
server.send(200, "text/html", "<h1>Wam_pismo</h1>");
// отсылаем то, что получили назад по UART
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}
Здравствуйте, уважаемые единомышленники.
Не так давно в моих руках оказался TFT LCD 3.2 + TOUCH PANEL + SD CARD
Внешне похож на TFT LCD 3.2 + TOUCH PANEL + SD CARD. Аналогичен ли он вот этому? Помогите, пожалуйста, опознать.
Можно ли подружить этот TFT дисплей с Odroid C1+? Как?
Спасибо
Спасибо большое, очень помогло.
Здравствуйте, уважаемые единомышленники.
Имеется задача - к ESP8266 (плата Node MCU с ESP8266 на борту) подключён некоторый источник сигнала (датчик). Это сигнал по WiFi необходимо передать на встроенный WiFi - модуль ноутбука (Windows 7) и отобразить его в программе, написанной на Delphi. Задача в некотором смысле подобна часто встречающейся в интернетах задаче о метеостанции на том же модуле с отличием в приёмной части (не Android, а Windows).
ESP8266 запрограммировал как точку доступа по методике описанной здесь и подключился к ней. В качестве источника сигнала (на передающей стороне) хочу использовать монитор последовательного порта Arduino IDE. Чем увидеть сигнал на приёмной стороне? Нет ли чего-нибудь стандартного для первых экспериментов (желательно под Windows, но на первом этапе отладки канала обмена можно и под Android)? Можно ли для этой цели использовать Hyperterminal? Как?
С уважением.
Dmitry_K пише:Здравствуйте, единомышленники.
У меня всё получилось, причём без Armbian. ОС - самая заурядная Ubuntu 14.04. Методика установки оказалась крайне простой. Короче говоря, ларчик очень просто открывался.
Я уже почти готов поделиться с вами своей страшной тайной. Но... Грядут же новогодние праздники и всем хочется подарков... В связи с этим я бы хотел задать вопрос администраторам сайта
ВОПРОС №9
Нельзя ли описать мои приключения в виде статьи, заработав тем самым обещанные 200 грн? Достаточно ли фактажа, объёма? И да,вы правильно угадали, гонорар не покинет пределов редакции, а будет тут же, на месте, истрачен на покупку чего - то электронного.Спасибо за понимание.
Сорры. Если не секрет на какое железо? Я тоже ставил Ubuntu 14.04, ставил на Orange PI+ 2. И Вы правы ничего сложного . Но есть одно но, проблема не в каких то "хитростях" установки (собственно их там нет, если следовать инструкциям и включать мозги ), вопрос стоит в полной и корректной работе периферии, как то в моем случае сетевых интерфейсов и аудио.
проблема с установкой OpenCV на Odroid C1+
Здравствуйте, единомышленники.
У меня всё получилось, причём без Armbian. ОС - самая заурядная Ubuntu 14.04. Методика установки оказалась крайне простой. Короче говоря, ларчик очень просто открывался.
Я уже почти готов поделиться с вами своей страшной тайной. Но... Грядут же новогодние праздники и всем хочется подарков... В связи с этим я бы хотел задать вопрос администраторам сайта
ВОПРОС №9
Нельзя ли описать мои приключения в виде статьи, заработав тем самым обещанные 200 грн? Достаточно ли фактажа, объёма? И да,вы правильно угадали, гонорар не покинет пределов редакции, а будет тут же, на месте, истрачен на покупку чего - то электронного.
Спасибо за понимание.
Здравствуйте, NoName из Киева.
Спасибо за интерес.
или так
cap = cv2.VideoCapture("nvcamerasrc ! video/x-raw(memory:NVMM), width=(int)640, height=(int)480, format=(string)I420, framerate=(fraction)30/1 ! nvvidconv flip-method=2 ! video/x-raw, format=(string)I420 ! videoconvert ! video/x-raw, format=(string)BGR ! appsink")
К сожалению...При попытке запуска обновлённого скрипта получил ту же ошибку.
Появились первые успехи. На данный момент наилучшие (с наибольшей управляемостью, наиболее прогнозируемые) результаты дал метод, описанный здесь:
http://forum.odroid.com/viewtopic.php?f=112&t=11994.
Коренное отличие этого метода от всех вышеописанных состоит в том, что используется предустановленная библиотека OpenCV - библиотека не устанавливается отдельно на ранее установленную ОС. Её инсталянты входят в состав инсталянтов ОС (ubuntu-14.04.2lts-robotics-odroid-c1-20150406) и устанавливаются в момент установки последней (операционной системы).
Способ надёжный - OpenCV устанавливается без особых проблем. Установленная таким образом OpenCV работоспособна – на исполнение запускаются все без исключения примеры, расположенные в папке /opencv-2.4.9/samples/pyton2. Причём запускаются и правильно работают как примеры обрабатывающие статические картинки, так и примеры, обрабатывающие видео, но только при условии использования ранее записанного на диск видео.
К большому сожалению, проблема не решена полностью. При попытке запуска простейшего pyton-скетча, работающего с внешней USB-камерой (листинг представлен в дополнении 1) получаю ошибку:
Python 2.7.6 Shell:
>> =============================== RESTART ============================
>>>
Traceback (most recent call last):
File "/home/odroid/Desktop/Python_Target_2/video_first.py", line 8, in <module>
cv2.imshow('frame',frame)
error: /home/odroid/opencv-2.4.9/modules/highgui/src/window.cpp:261: error: (-215) size.width>0 && size.height>0 in function imshow
>>>
Уверенность в скетче есть – ранее запускал скетч на том же одноплатном компьютере с другой SD – картой.
ВОПРОС №6
Почему установленная таким образом OpenCV не обрабатывает видео с USB-камеры? Можно ли каким – либо образом «привести её в чуство», заставить работать правильно? Может быть нужна какая-нибудь дополнительная пост-конфигурация установленной OpenCV?
ВОПРОС №7
Нет ли в природе такой ОС (желательно, но необязательно ubuntu-14-04) с предустановленной OpenCV которая бы правильно работала с внешней USB-камерой?
Все изложенные в этом посте вопросы абсолютно не отменяют вопросов предыдущего поста - сборка инсталянтов с последующей установкой и установка ОС с предустановленной OpenCV являются альтернативными способами. В форумах пишут, что есть ещё и третий, наиболее простой, вариант - установка из репозиториев. Но как их подключить мне пока не известно.
ВОПРОС №8
Уважаемые знатоки, неужели никто из вас не устанавливал OpenCV на odroid C1+? Поделитесь опытом, очень нужно для работы...
Есть ещё люди в Украине, которым интересна моя проблема?
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Дополнение 1
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
cv2.imshow('frame',frame)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
Здравствуйте уважаемые знатоки и начинающие
Насколько я сейчас понимаю, причина первых неудач заключалась в том, что при установке ОС в её состав уже входят инсталлянты видео-кодеков ffmpeg и x264, которые благополучно устанавливаются вместе с ОС и также благополучно конфликтуют с инсталлянтами OpenCV. Эти кодеки перед установкой OpenCV необходимо удалить и установить хорошие, неконфликтные. Насколько я понял, неконфликтными являются новейшие кодеки (чем новее, тем менее конфликтнее), еще лучший вариант – установка кодеков ffmpeg и x265.
ВОПРОС №1
Прав ли я? Нет ли в природе такой пары (таких версий) ubuntu + OpenCV для которой не нужно производить никаких шаманских действий (удаление, повторная установка)?
Вторая неприятность, поджидающая неопытного одроид - разработчика при установке OpenCV – специфичность платформы ARMv7 и, связанная с этим, необходимость специфической же конфигурации инсталянтов OpenCV перед установкой. Т.е. перед командой:
$ make
необходимо ввести:
$ ./configure --with-pic=no && make
По мнению большинства интернет – знатоков конфигурация является совершенно необходимой и без неё OpenCV правильно под Linux на Odroid C1 не установится. Однако в большинстве инструкций по установке OpenCV на Odroid C1, которые обсуждались на форуме http://forum.odroid.com/viewtopic.php?f … 036#p68970 , такая конфигурация не использовалась. Возникает закономерный вопрос:
ВОПРОС №2
Прав ли я? Необходима ли такая конфигурация инсталянтов?
Учтя всё вышесказанное, я изменил алгоритм установки. При этом каждый раз устанавливал на свежую ОС, что, по мнению большинства интернет – знатоков, является совершенно необходимым, но отнимает массу времени.
ВОПРОС №3
Насколько необходимо перед установкой обновлять операционную систему и устанавливать OpenCV на свежую ОС?
Установку производил с использованием всех нижеописанных алгоритмов:
1. http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation(официальный сайт OpenCV)
2. OpenCV with Python By Example/Prateek Joshi/ Packt Publishing, ISBN: 9781785283932 (https://www.safaribooksonline.com/library/view/opencv-with-python/9781785283932)
3. http://www.ozbotz.org/opencv-installation/
4. http://forum.odroid.com/viewtopic.php?f=112&t=8036#p68970
5. http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/
6. https://github.com/sgjava/install-opencv
7. https://www.youtube.com/watch?v=Cci256oj8dg
Некоторые из этих алгоритмов универсальны (любые типы Linux, любые типы компьютеров), некоторые (например 4 и 6) были опробованы непосредственно на интересующем меня устройстве (Оdroid-С1) в интересующих меня условиях (ubuntu). Но ни один из методов «вчистую» не позволил добиться цели. И только в результате дичайшего перебора вариантов (счастливого стечения обстоятельств??) мне удалось установить полностью работоспособный вариант OpenCV, но повторить этот подвиг не удаётся до сих пор. И самое главное, нет уверенности в том, что новый мозговой штурм опять не приведёт к случайному (не системному, с низкой повторяемостью) результату.
ВОПРОС №4
В чём моя ошибка? Почему алгоритмы, опробованные в железе интернет-знатоками, в моём случае не дали результата? Особенно буду благодарен за объяснения теоретических основ процесса установки на доступном уровне, ссылкам на доступную литературу по тематике вопроса.
ВОПРОС №5
Нет ли у вас надёжного алгоритма установки OpenCV (желательно, но не обязательно OpenCV2 ) на Оdroid-С1+ под ubuntu (желательно, но необязательно ubuntu-14-04-lts)?
Здравствуйте.
Спасибо за ответ.
Причину понял, но не понял как лечить.
Так:
cmake -fPIC -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. ?
Или так:
$ sudo recompile with -fPIC ?
Установку произвожу с использованием инструкции изложенной на официальном сайте:
http://docs.opencv.org/2.4/doc/tutorial … stallation
Операционная система: ubuntu-14.04.2lts-lubuntu-odroid-c1-20150401
Экспериментировал с OpenCV версий 2.4.3, 2.4.9 и 2.4.10
В результате установки получил ошибку:
Linking CXX shared library ../../lib/libopencv_imgproc.so
[ 13%] Built target opencv_imgproc
[ 13%] Built target opencv_highgui_pch_dephelp
[ 13%] Built target pch_Generate_opencv_highgui
Linking CXX shared library ../../lib/libopencv_highgui.so
/usr/bin/ld.bfd.real: /usr/local/lib/libavcodec.a(avpacket.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavcodec.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libopencv_highgui.so.2.4.9] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2
В чём может быть проблема?
Заранее спасибо.
Сторінки 1