Понедельник, 24.04.2017, 11:24
| RSS
Главная | Raspberry Pi. Общие вопросы. Часть 2 - Страница 9 - Форум
Защита, контроль, управление
Форма входа
Логин:
Пароль:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS · Чат ]
Страница 9 из 81«1278910118081»
Модератор форума: Zoolu 
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Raspberry Pi. Общие вопросы. Часть 2
Raspberry Pi. Общие вопросы. Часть 2
AdminДата: Четверг, 20.10.2016, 14:45 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 3457
Статус: Offline
Продолжение темы. Начало см. здесь

ВНИМАНИЕ !!! В процессе разработки системы домашней автоматизации было создано несколько различных версий. Из-за этого у многих пользователей возникает путаница - программное обеспечение применяется от одних проектов, прошивки контроллеров от других. Поэтому, перед тем как задавать вопро, внимательно ознакомьтесь с этой информацией

==============================================================================

Все новые проекты созданные при участии Zoolu (схемы принципиальные, монтажные и прошивки) будут публиковаться по этому адресу.  Ну и обязательно дублироваться здесь. Настоятельная просьба регистрироваться по ИНВАЙТ у Zoolu! Этим вы поможете дальнейшим разработками! Спасибо!

Кросс-плата v.2

==============================================================================

Уважаемые участники форума!

Изучая статистику сайта, я заметил, что есть зарегистрированные пользователи, которые активно просматривают эту ветку, но на форуме в обсуждении не участвуют. Возможно, людям все понятно, а возможно, кто-то не привык к онлайн общению или просто стесняется спросить.

Вместе с тем, мне очень хотелось бы знать, кому действительно интересен проект Web Home Pi. С этой целью создана ветка-опрос, где я прошу всех заинтересованных отметится и оставить краткий отзыв о проекте - http://electromost.com/forum/6-128-1
Обращаю внимание, что указанная ветка не предназначена для общения и служит своеобразной "визитной карточкой" участника проекта.
Спасибо!


Сообщение отредактировал Zoolu - Среда, 22.02.2017, 14:25
 
OlegMДата: Четверг, 01.12.2016, 05:58 | Сообщение # 81
Группа: Пользователи
Сообщений: 15
Статус: Offline
Если интересно о моем протоколе. На работе обслуживаем Lon. Это американский протокол типа KNX только промышленный. Свой протокол я написал по подобию Лона, только с использованием RS485 т.к. он значительно дешевле европейской шины. Протокол полностью децентрализован т.е. нет мастера и слейвов.
В протоколе достаточно разрешена проблема коллизий, меня он полностью устраивает и работает уже не один год.
Устройства в сети обмениваются телеграммами типа :01DO1S100.00(включить на контроллере с адресом 1 выход1) в ответ он после вкючения отсылает :01DO1R100.00 и т д.
Контроллер подключенный к RPI имеет два независимых интерфейса UART для RPI и RS485 для связи с сетью.
Он слушает сеть, при получении информации :01DO1R100.00 он присваивает переменной Р1 значение 1 и так по всем устройствам проекта. Раз в несколько секунд, если RS485 не занята он отдаёт строчку с переменными всего проекта в RPI, если получает команду от RPI преобразует её в протокольный вид и передаёт в сеть.
Таким образом контроллер не является ни мастером для устройств в сети ни слейвом для RPI просто преобразователь протокола.
Эта технология работает у меня давно но в качестве веб сервера ESP8266.  От RPI хочется большего объёма страниц, вот и начал переписывать сервер на нём.

Потеря информации при использовании запросов от RPI к контроллеру случается когда в момент запроса идет информация по сети 485. Так как хочется чтобы страница достаточно быстро реагировала на все изменения в сети, то потери достаточно большие - проверено.


олег
 
AdminДата: Четверг, 01.12.2016, 06:39 | Сообщение # 82
Admin
Группа: Администраторы
Сообщений: 3457
Статус: Offline
Цитата Вован ()
Перечитывать более 100 страниц форума нет ни времени, ни возможности, ни желания, поэтому сразу вопросы: после установки системы по инструкции, скачанной с данного сайта (пробовал и другими разными способами), не могу запустить WinSCP  с логином root (п.19 инструкции), п.17 выполнил до этого. С логином pi захожу, создаю указанные директории.

Для начала нужно зайти чере Putty на RP, ввести команду sudo webiopi -d -c /etc/webiopi/config и посмотреть, какие терминал возвращает ошибки. RP я так понял с 26 портами GPIO?

Цитата OlegM ()
Устройства в сети обмениваются телеграммами типа :01DO1S100.00(включить на контроллере с адресом 1 выход1) в ответ он после вкючения отсылает :01DO1R100.00 и т д.Контроллер подключенный к RPI имеет два независимых интерфейса UART для RPI и RS485 для связи с сетью.Он слушает сеть, при получении информации :01DO1R100.00 он присваивает переменной Р1 значение 1 и так по всем устройствам проекта. Раз в несколько секунд, если RS485 не занята он отдаёт строчку с переменными всего проекта в RPI, если получает команду от RPI преобразует её в протокольный вид и передаёт в сеть

В принципе все понятно, нечто похожее я использовал в своем протоколе, данные на RP тоже передавались в виде строки с дискретными состояниями входов/выходов и числовых значений измерений. Отличие только в том, что контроллер отдавал данные только по запросу от RP.
По поводу разбора строки на Питоне - помнится, что-то пробовал писать, нужно покопаться в исходниках, поищу.
 


OlegMДата: Четверг, 01.12.2016, 06:54 | Сообщение # 83
Группа: Пользователи
Сообщений: 15
Статус: Offline
Пока сделал вот так

import webiopi # импорт 
import datetime
import json
import sys
import time
import os
import subprocess
from subprocess import call
from time import strftime

celsius_0 = 0
from webiopi import deviceInstance
from webiopi.devices.serial import Serial
serial = Serial("ttyAMA0", 9600)
sensors = 0

def loop():   

    global celsius_0
    global sensors

    if (serial.available() > 0):
       tmp1 = serial.readString()
       if tmp1[0:1]== 'T':
          sensors = tmp1[1:6]    # read available data        
          print(sensors)

  
    f = open('/home/pi/myproject/html/sensors.txt', 'a' wink
    data_entry = "{0},{1}\n".format(strftime("%Y-%m-%d %H:%M:%S"),sensors)
    f.write(data_entry)
    f.close()   

    tmp0 = webiopi.deviceInstance("tmp0")   
    celsius_0 = tmp0.getCelsius() # получение температуры
    print (celsius_0)
    f=open('/home/pi/myproject/html/data_18B20.txt','a' wink   
    data_entry = "{0},{1}\n".format(strftime("%Y-%m-%d %H:%M:%S"),"%.2f"%celsius_0)
    f.write(data_entry)
    f.close()
    time.sleep(120)


@webiopi.macro # макрос измерения температуры датчика tmp0
def getTmp0():
    global celsius_0
    tmp0 = webiopi.deviceInstance("tmp0")   
    celsius_0 = tmp0.getCelsius() # получение температуры
    print (celsius_0)
    return "%.2f" % celsius_0 # возврат данных температуры в HTML с округлением до сотых

Сделал посылку от контроллера - две разных строки типа Р00100100 0000 и Т+23.21. Длинные строки у меня почему то не обработал питон. Посмотрите пожалуйста, может что не так или умнее что подскажите.

Добавлено (01.12.2016, 06:54)
---------------------------------------------
Сразу вопрос будет ли графопостроитель понимать сохранённые данные как +23.3 и -21.2 т.е. со знаком


олег
 
ВованДата: Четверг, 01.12.2016, 07:23 | Сообщение # 84
Группа: Пользователи
Сообщений: 6
Статус: Offline
Пока ждал ответ, дошел с 1-й до 7й страницы сего форума. Пост#70.
Сделал всё как там, заработало. И еще ошибку нашел, в строчке doc-root = /home/pi/myproject/html  пропустил слэш 
Но в WinSCP не могу зайти с логином root, может пользователь не создан? тогда как создать?
создал нужную папку от пользователя pi
нашел виндовый выход - в свойствах папки myproject  и ко всем вложенным папкам и файлам открыл доступ всем пользователям.

Добавлено (01.12.2016, 07:23)
---------------------------------------------
Цитата Admin ()
RP я так понял с 26 портами GPIO?

Да, именно 26 портов. на ней дата стоит 2011.12
P/S сейчас поигрался с портами, GPIO21 нет, есть GPIO27.
Это значить ver.2.
Получается 28 портов?


Я знаю, что ничего не знаю.

Сообщение отредактировал Вован - Четверг, 01.12.2016, 10:51
 
AdminДата: Четверг, 01.12.2016, 11:46 | Сообщение # 85
Admin
Группа: Администраторы
Сообщений: 3457
Статус: Offline
Цитата OlegM ()
Сразу вопрос будет ли графопостроитель понимать сохранённые данные как +23.3 и -21.2 т.е. со знаком

Да, dygraph без проблем "понимает" отрицательные числа (со знаком минус). Для положительных чисел + не обязателен

Цитата Вован ()
Но в WinSCP не могу зайти с логином root, может пользователь не создан? тогда как создать?

Случайно не Raspbian Jessie используется? Если да, то можно так попробовать:

1. Войти как обычный пользователь (pi)
2. Открыть файл sshd_config командой sudo nano /etc/ssh/sshd_config
3. Заменить в этом файле строку PermitRootLogin without-password и заменить ее на PermitRootLogin yes
4. Перезапустить сервис командой sudo service ssh restart
 


ВованДата: Пятница, 02.12.2016, 04:19 | Сообщение # 86
Группа: Пользователи
Сообщений: 6
Статус: Offline
Цитата Admin ()
3. Заменить в этом файле строку PermitRootLogin without-password и заменить ее на PermitRootLogin yes
Спасибо Admin. Заменил, зашел под root.
Подключил один DS18B20 к шине 1-wire.  Данные не отображаются в вебинтерфейсе.
Прикрепления: GPIO.bmp(1145Kb) · 18b20.bmp(830Kb)


Я знаю, что ничего не знаю.
 
AdminДата: Пятница, 02.12.2016, 05:06 | Сообщение # 87
Admin
Группа: Администраторы
Сообщений: 3457
Статус: Offline
1. Убрaть в конфиге адрес слейва: Там должно быть tmp0=DS18B20
2. Проверить работу датчика через монитор девайсов:
http://xxx.xxx.x.x:8000/app/devices-monitor 
 
ВованДата: Пятница, 02.12.2016, 08:47 | Сообщение # 88
Группа: Пользователи
Сообщений: 6
Статус: Offline
Только добрался, убрал адрес слейва. Заработал в мониторе девайса.
В системе домашней автоматизации нет. но я в файле index.html ковырялся, возможно и сбил чего.

нет, не хочет показывать
Прикрепления: DM.bmp(102Kb) · 7370271.bmp(830Kb)


Я знаю, что ничего не знаю.
 
AdminДата: Пятница, 02.12.2016, 09:37 | Сообщение # 89
Admin
Группа: Администраторы
Сообщений: 3457
Статус: Offline
Ну зачем во второй раз пустой интерфейс выкладывать, меня больше интересует содержание файла html и скрипта Python
 
ВованДата: Пятница, 02.12.2016, 09:56 | Сообщение # 90
Группа: Пользователи
Сообщений: 6
Статус: Offline
если я правильно понял, то вот эти файлы?
Прикрепления: script_sensor.py(5Kb)


Я знаю, что ничего не знаю.

Сообщение отредактировал Вован - Пятница, 02.12.2016, 09:57
 
Форум » ФОРУМ » Домашняя автоматизация на Raspberry Pi » Raspberry Pi. Общие вопросы. Часть 2
Страница 9 из 81«1278910118081»
Поиск:



T2M © 2017
Сайт управляется системой uCoz