30.03.2016, 11:52 | #221 | |||
Старший Пользователь
Регистрация: 10.01.2015
Возраст: 33
Город: Бишкек
Регион: Казахстан
Машина: Subaru Outback
Сообщений: 163
|
Цитата:
kg.delletenebre.serial.NEW_DATA Вместо %org_kangaroo_rim_device_extra_args %value (в нижнем регистре) Возможно, если где-то Вы писали %org_kangaroo_rim_device_extra_command %key (в нижнем регистре) Остальное должно работать без дополнительной настройки (если до этого работало с RIM). Хотя, мне кажется, что если всего 3-5 датчиков, то не будет ничего страшного если присылать их значения по отдельности, типа <temp0:23> .. <temp1:-10> .. <temp2:101> вместо <temp:23#-10#101>. Но, хозяин - барин. Цитата:
Цитата:
__________________
Подсолнух (github) для авторегулировки яркости экрана по позиции солнца и синхронизации времени по GPS (v1.6 от 13.06.17) Serial Manager для обработки данных с Arduino Calls Assistant - замена TabletTalk Последний раз редактировалось DelleTenebre; 30.03.2016 в 15:59. Причина: Исправил неправильный совет :) |
|||
30.03.2016, 13:42 | #222 |
Старший Пользователь
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
|
чет не выходит
вот так в таскере сделал: где косячу ? ардуино выводит <InDoor:14.5>
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе |
30.03.2016, 15:55 | #223 |
Старший Пользователь
Регистрация: 10.01.2015
Возраст: 33
Город: Бишкек
Регион: Казахстан
Машина: Subaru Outback
Сообщений: 163
|
Serg-Zmuh, сейчас попробовал, я неправильно посоветовал:
вместо %VALUE надо %value вместо %KEY надо %key
__________________
Подсолнух (github) для авторегулировки яркости экрана по позиции солнца и синхронизации времени по GPS (v1.6 от 13.06.17) Serial Manager для обработки данных с Arduino Calls Assistant - замена TabletTalk |
31.03.2016, 05:00 | #224 |
Старший Пользователь
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
|
да заработало !
копаем разбираемся дальше .... а вот с этим скетчем : Код HTML:
#include <OneWire.h> #include <DallasTemperature.h> OneWire OW_tempa(9); OneWire OW_tempb(10); OneWire OW_tempc(11); DallasTemperature tempa(&OW_tempa); DallasTemperature tempb(&OW_tempb); DallasTemperature tempc(&OW_tempc); DeviceAddress tempaAddress, tempbAddress, tempcAddress; void setup(void){ Serial.begin(9600); tempa.begin(); tempb.begin(); tempc.begin(); } void loop(void){ tempa.requestTemperatures(); delay(40); tempb.requestTemperatures(); delay(40); tempc.requestTemperatures(); delay(40); Serial.print("<data:"); if ( !tempa.getAddress(tempaAddress,0)){ Serial.print("0"); }else{ Serial.print(tempa.getTempCByIndex(0),1); } Serial.print("#"); if ( !tempb.getAddress(tempbAddress,0)){ Serial.print("0"); }else{ Serial.print(tempb.getTempCByIndex(0),1); } Serial.print("#"); if ( !tempc.getAddress(tempcAddress,0)){ Serial.print("0"); }else{ Serial.print(tempc.getTempCByIndex(0),1); } Serial.println(">"); delay(1000); } не понимаю как отловить .... пробовал в строке команда писать: data ,#,data1,data2 извени мня ,наверно я надоел уже вроде с этим скетчем работает, но как-то со сбоями вот мне и неймется P.S. но ! главное что твой SerialManager работает по USB и не отваливается не при каких отключениях - ГУД ! Респект Тебе
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе |
31.03.2016, 08:58 | #225 |
Новый Пользователь
Регистрация: 15.09.2008
Возраст: 41
Город: на работе
Регион: 38
Машина: 99\MMC\Pajero IO
Сообщений: 25
|
Тогда тебе надо в коде заменить на это:
Код:
Serial.print("<InDoor:"); if ( !tempa.getAddress(tempaAddress,0)){ Serial.print("0"); }else{ Serial.print(tempa.getTempCByIndex(0),1); } Serial.println(">"); Serial.print("<OutDoor:"); if ( !tempb.getAddress(tempbAddress,0)){ Serial.print("0"); }else{ Serial.print(tempb.getTempCByIndex(0),1); } Serial.println(">"); Serial.print("<Engine:"); if ( !tempc.getAddress(tempcAddress,0)){ Serial.print("0"); }else{ Serial.print(tempc.getTempCByIndex(0),1); } Serial.println(">"); |
31.03.2016, 12:55 | #226 |
Старший Пользователь
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
|
поддставил этот код
Код:
#include <OneWire.h> #include <DallasTemperature.h> OneWire OW_tempa(9); OneWire OW_tempb(10); OneWire OW_tempc(11); DallasTemperature tempa(&OW_tempa); DallasTemperature tempb(&OW_tempb); DallasTemperature tempc(&OW_tempc); DeviceAddress tempaAddress, tempbAddress, tempcAddress; void setup(void){ Serial.begin(9600); tempa.begin(); tempb.begin(); tempc.begin(); } void loop(void){ tempa.requestTemperatures(); delay(40); tempb.requestTemperatures(); delay(40); tempc.requestTemperatures(); delay(40); Serial.print("<InDoor:"); if ( !tempa.getAddress(tempaAddress,0)){ Serial.print("0"); }else{ Serial.print(tempa.getTempCByIndex(0),1); } Serial.println(">"); Serial.print("<OutDoor:"); if ( !tempb.getAddress(tempbAddress,0)){ Serial.print("0"); }else{ Serial.print(tempb.getTempCByIndex(0),1); } Serial.println(">"); Serial.print("<Engine:"); if ( !tempc.getAddress(tempcAddress,0)){ Serial.print("0"); }else{ Serial.print(tempc.getTempCByIndex(0),1); } Serial.println(">"); } скетч на компе работает норм ,данные теперь идут раздельно <InDoor:14.5> <OutDoor:0> <Engine:0> а как только подключаю к планшету ститывает только один-два раза <InDoor:14.5> при подключении ,а потом молчит это видно в SerialManager один раз уведомление выскакивает и тишина с задержками поиграся - не помогает ( в logcat показывает что серис стопится
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе Последний раз редактировалось Serg-Zmuh; 31.03.2016 в 14:08. |
31.03.2016, 13:57 | #227 |
Старший Пользователь
Регистрация: 10.01.2015
Возраст: 33
Город: Бишкек
Регион: Казахстан
Машина: Subaru Outback
Сообщений: 163
|
Вы в конец задержку добавляли?
Код:
void loop(void){ tempa.requestTemperatures(); delay(40); tempb.requestTemperatures(); delay(40); tempc.requestTemperatures(); delay(40); Serial.print("<InDoor:"); if ( !tempa.getAddress(tempaAddress,0)){ Serial.print("0"); }else{ Serial.print(tempa.getTempCByIndex(0),1); } Serial.println(">"); delay(50);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Serial.print("<OutDoor:"); if ( !tempb.getAddress(tempbAddress,0)){ Serial.print("0"); }else{ Serial.print(tempb.getTempCByIndex(0),1); } Serial.println(">"); delay(50);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Serial.print("<Engine:"); if ( !tempc.getAddress(tempcAddress,0)){ Serial.print("0"); }else{ Serial.print(tempc.getTempCByIndex(0),1); } Serial.println(">"); delay(1000);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< }
__________________
Подсолнух (github) для авторегулировки яркости экрана по позиции солнца и синхронизации времени по GPS (v1.6 от 13.06.17) Serial Manager для обработки данных с Arduino Calls Assistant - замена TabletTalk |
31.03.2016, 14:10 | #228 |
Старший Пользователь
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
|
мне бы чтоб выводило на раздельные виджеты
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе |
31.03.2016, 14:33 | #229 |
Новый Пользователь
Регистрация: 15.09.2008
Возраст: 41
Город: на работе
Регион: 38
Машина: 99\MMC\Pajero IO
Сообщений: 25
|
Я был уверен, что не забудешь delay поставить. Должна обязательно быть пауза в 1сек, а то система будет виснуть, поэтому пишем 1000мс. delay(40) можно убрать, т.к. их добавили delay(50) в serial.print.
Код:
tempa.requestTemperatures(); tempb.requestTemperatures(); tempc.requestTemperatures(); |
31.03.2016, 17:35 | #230 |
Старший Пользователь
Регистрация: 10.01.2015
Возраст: 33
Город: Бишкек
Регион: Казахстан
Машина: Subaru Outback
Сообщений: 163
|
Serg-Zmuh, только что попробовал следующее:
В качестве экономии (да и не зря же они OneWire) цепляем датчики последовательно. Картинки во вложении (резистор 4.7 кОм). Затем скетч: Код:
const int ONE_WIRE_BUS = 3,//Пин куда подключаем сигнальный провод ONE_WIRE_UPDATE_SEC = 1;//Время опроса датчиков в секундах #include <OneWire.h> #include <DallasTemperature.h> OneWire oneWire(ONE_WIRE_BUS); DallasTemperature temperatureSensors(&oneWire); void setup() { Serial.begin(9600); while (!Serial) ;// Если Leonardo temperatureSensors.begin(); temperatureSensors.setWaitForConversion(false); } void loop() { updateTemperature(); } unsigned long lastTemperatureRequest = 0; void updateTemperature() { if (millis() - lastTemperatureRequest >= ONE_WIRE_UPDATE_SEC * 1000) { temperatureSensors.requestTemperatures(); for (int i = 0; i < temperatureSensors.getDeviceCount(); i++) { printTemperature(i); } lastTemperatureRequest = millis(); } } void printTemperature(int index) { Serial.print("<temp" + String(index) + ":"); Serial.print(temperatureSensors.getTempCByIndex(index), 1); Serial.println(">"); delay(100);//Вот тут можно чуть больше или меньше } На двух датчиках (больше у меня нет) точно работает.
__________________
Подсолнух (github) для авторегулировки яркости экрана по позиции солнца и синхронизации времени по GPS (v1.6 от 13.06.17) Serial Manager для обработки данных с Arduino Calls Assistant - замена TabletTalk |
Метки |
arduino |
Здесь присутствуют: 4 (пользователей: 0 , гостей: 4) | |
|
|