LINUX.ORG.RU

RaspberryPi.Zzwave

 


1

1

Привет народ,

Я занимаю проектом по автоматизации света с помощью технологии Zwave на Raspberry Pi. Всего у меня есть Z wave трансивер и свитч, трансивер чтоб посылать команду и делать это на компе. Свитч чтоб управлять лампой.

Тоесть я чтоб использовать свой Распбери и управлять через него светом, использую трансивер. Вот собственно и проблема, мне надо обновить софт на Трансивере. вот что пишет производитель: (Upgrade Process) http://www.vesternet.com/downloads/dl/file/id/8/z_wave_me_usb_stickc_manual.pdf

При выполнение команды python ZStickUpdater.py -f /home/pi/Z-Stick4.ehex -d /dev/ttyUSB0

выдаёт такую ошибку

Traceback (most recent call last): File «ZStickUpdater.py», line 24, in <module> import SerialAPI File «/home/pi/ZStickUpdater/SerialAPI.py», line 1 /../../SerialAPI.py ^ ОС дебиан виизи

а если из корня ZStickUpdater удалить файлы-ссылки: IntelHex.py, SerialAPI.py и ZLogging.py. Файлы IntelHex.pyc, SerialAPI.pyc и ZLogging.pyc не трогать.

anonymous
()
Ответ на: комментарий от m4rk0intel
#!/bin/bash

if [ ! -f ZStickUpdater.zip ]; then
  wget http://www.zwaveeurope.com/support/ZME/ZSTICK/ZStickUpdater.zip
fi

if [ ! -f master.zip ]; then
  wget https://github.com/wibiti/uncompyle2/archive/master.zip
fi

rm -rf uncompyle2-master uncompyle2 ZStickUpdater source 2>/dev/null

unzip ZStickUpdater.zip
unzip master.zip

cp -r ZStickUpdater source
find source -name "*.py" -delete

mkdir uncompyle2
cp uncompyle2-master/scripts/uncompyle2 ./uncompyle2/uncompyle2.py
cp -r uncompyle2-master/uncompyle2 ./uncompyle2/

pushd uncompyle2
./uncompyle2.py --py -o ../source ../source
popd

find source -name "*.pyc" -delete
cp -r ZStickUpdater/ZStickUpdater.py source

rm -rf uncompyle2-master uncompyle2 ZStickUpdater 2>/dev/null 
anonymous
()
Ответ на: комментарий от fish_ka

Извиняюсь сразу, но я не гуру!

Посмотрел что у меня лежит в /usr/lib и выдало python2.6 python2.7 python3.2 python3

PS: а как просмотреть содержимое os.path я не знаю :(

m4rk0intel
() автор топика
Ответ на: комментарий от m4rk0intel

может быть запустить из получившихся исходников приложения?

anonymous
()
Ответ на: комментарий от m4rk0intel

ошибку, которая получится и если получится на этот раз опять привести здесь, желательно [code]внутри тегов[/code]

anonymous
()
Ответ на: комментарий от anonymous

я понял что это скрипт? в этом я очень слаб, надо ли етот скрипт засунуть в редактор, сохранить и потом запустить?

ПС> спс за помощь. очень интересно!

m4rk0intel
() автор топика
Ответ на: комментарий от m4rk0intel

да, создаешь файл, сохраняешь в нем этот скрипт, делаешь этот файл исполняемым и запускаешь. по результату работы скрипта будет списано два файла: ZStickUpdater.zip и master.zip. создана директория source в которой будут располагаться исходники ZStickUpdater. 3 вспомогательные директории (uncompyle2-master uncompyle2 ZStickUpdater) созданные по ходу работы скрипта будут удалены, по этому лучше скрипт запускать в отдельной директории.

anonymous
()
Ответ на: комментарий от anonymous

Короче выполнил скрипт, но нечего не поменялось :(

Заметил то, что еcли посмотреть мануал, то при запуске команды

sudo python ZStickUpdater.py -f /home/pi/Z-Stick4.ehex -d /dev/ttyUSB0

@если посмотреть внимательнее в мануале, то там при изпользование кода используют ZStickUpdater.pyc а у меня ZStickUpdater.py

вот скрин http://i038.radikal.ru/1403/d9/6dbf09b424b4.png

m4rk0intel
() автор топика
Ответ на: комментарий от m4rk0intel

в той директории, которой был запущен файл скрипта, если я все правильно понимаю, то /scripts/source/ZStickUpdater.py у тебя должен существовать.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, очень был рад когда получилось!

Немоглиб сказать, что точно сделал скрипт, мне надо будет описать и себе полезно.

пс> как я понял, мои файлы для Питона были дееспособны?

m4rk0intel
() автор топика
Ответ на: комментарий от m4rk0intel
ls -al

сделай в исходной директории, увидишь что там исходники (*.py) в корне, всего лишь ссылки на файлы на два уровня выше расположенные. и есть только уже собранные *.pyc файлы. скрипт собственно их восстановил *.py из *.pyc. затем убрал за собой исходные материалы.

anonymous
()
Ответ на: комментарий от anonymous

1.как понять исходные материалы?

2.что именно скачивает

if [ ! -f ZStickUpdater.zip ]; then
wget >http://www.zwaveeurope.com/support/ZME/ZSTICK/ZStickUpdater.zip
fi

if [ ! -f master.zip ]; then
wget https://github.com/wibiti/uncompyle2/archive/master.zip
fi

3.что удаляет?

rm -rf uncompyle2-master uncompyle2 ZStickUpdater source >2>/dev/null

4.копирует source затем удаляет?

cp -r ZStickUpdater source
find source -name «*.py» -delete

5.

pushd uncompyle2
./uncompyle2.py --py -o ../source ../source
popd

m4rk0intel
() автор топика
Ответ на: комментарий от m4rk0intel

1. исходное приложение и декомпилятор, удаляются последней строкой в скрипте.

  • распакованный из архива master.zip инсталлятор uncompyle2-master
  • временно «собранное» приложение uncompyle2. его можно было установить, но на один раз можно и собрать нужные файлы в нужном порядке скриптом.
  • цель для декомпиляции ZStickUpdater из архива ZStickUpdater.zip.
rm -rf uncompyle2-master uncompyle2 ZStickUpdater 2>/dev/null

2. цель и декомпилятор.

  • ZStickUpdater.zip - это то, что ты пытался запустить. ссылка найдена в твоей z_wave_me_usb_stickc_manual.pdf на странице 3 (Device Support Site). сам ведь не дал ссылку на ZStickUpdater.
  • master.zip - это декомпилятор из ответа.
  • if [ ! -f FILE ]; then - если нет FILE.
  • wget URL - загрузить файл по URL.
  • fi - завершение оператора if.

3. пункт 1.

4. копирует рекурсивно все что есть, а удаляет только *.py. все равно декомпилирует.

5. декомпиляция пакета, более подробно в ./uncompyle2.py --help

  • pushd DIR - зайти в DIR, предварительно запомнив исходную директорию.
  • ./uncompyle2.py - запустить файл
  • --py - декомпилировать в файлы с расширениями py.
  • -o ../source - директория назначения для декомпиляции.
  • ../source - цель декомпиляции, в данном случае считается библиотекой (3 пример в --help, указана директория).
  • popd - вернуться в исходную директорию.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.