Asus rt-n16 + python + flask + arduino

Форум для технических вопросов на любые темы от новичков
kharlashkin
Сообщения: 9
Зарегистрирован: 09 апр 2017, 16:09
Откуда: Северодонецк

Сообщение kharlashkin » 09 апр 2017, 17:14

Добрый день всем присутсвующим. Столкнулся с некоторыми проблемами хочу спросить советов.

Как понятно из названия темы, хочу попробовать завести описанную связку.
Сделал в GParted флешку, разметил её на два раздела 1000 МиБ под Entware и остальное (примерно 6700 МиБ) как Data в Ext3. Подключил её к маршрутизатору с прошивкой DD-WRT v24-sp2 (08/07/10) mega (SVN revision 14896). Установил Entware-ng согласно инструкции. Установил python, python-pip. Обновил PIP, установил flask со всеми нужными зависимостями. Создал "Hello, world!" в папке /mnt/flask:

Код: Выделить всё

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Hello, world!"

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True)

Запускаю и вываливается вот такая ошибка:

Код: Выделить всё

root@DD-WRT:/mnt/flask/venv/bin# /mnt/flask/venv/bin/python /mnt/flask/app.py 
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 553-094-159
Traceback (most recent call last):
  File "/mnt/flask/app.py", line 10, in <module>
    app.run(debug=True, host='0.0.0.0')
  File "/mnt/flask/venv/lib/python2.7/site-packages/flask/app.py", line 841, in run
    run_simple(host, port, self, **options)
  File "/mnt/flask/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 734, in run_simple
    reloader_type)
  File "/mnt/flask/venv/lib/python2.7/site-packages/werkzeug/_reloader.py", line 262, in run_with_reloader
    t.start()
  File "/opt/lib/python2.7/threading.py", line 736, in start
    _start_new_thread(self.__bootstrap, ())
thread.error: can't start new thread

Погуглил, пару действий попробовал - не помогло. Может кто подскажет куда копать?
Последний раз редактировалось kharlashkin 14 апр 2017, 08:43, всего редактировалось 1 раз.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1234
Зарегистрирован: 09 авг 2015, 14:33

Asus rt-n16 + dd-wrt + python + flask + arduino

Сообщение Zyxmon » 09 апр 2017, 19:34

Гуглите дальше. Может быть и с прошивкой dd-wrt питон из entware несовместим.

kharlashkin
Сообщения: 9
Зарегистрирован: 09 апр 2017, 16:09
Откуда: Северодонецк

Asus rt-n16 + dd-wrt + python + flask + arduino

Сообщение kharlashkin » 10 апр 2017, 08:15

Zyxmon писал(а):Может быть и с прошивкой dd-wrt питон из entware несовместим.

Когда сравнивал репозитории (optware/entware/intware etc.) подкупило наличие именно последнего Python 2.7.13, в остальных видел 2.4/2.5/2.6 не помню где уже видел 2.7.4 и наличие python-pip.
Подскажет кто ссылку на инструкцию как правильно сменить репозитории, а то за последние пару дней я перешивал маршрутизатор раз 5 - надоело.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1234
Зарегистрирован: 09 авг 2015, 14:33

Asus rt-n16 + dd-wrt + python + flask + arduino

Сообщение Zyxmon » 10 апр 2017, 08:25

kharlashkin писал(а):Подскажет кто ссылку на инструкцию как правильно сменить репозитории, а то за последние пару дней я перешивал маршрутизатор раз 5 - надоело.

Зачем же перепрошивать, вытащили флешку с entware, поставили чистую и ставьте на нее другую репу.
Если ставите во внутренню память - отформатируйте по инструкции к прошивке.

Может еще debian поверх entware-3x накатить и в нем попробовать.

kharlashkin
Сообщения: 9
Зарегистрирован: 09 апр 2017, 16:09
Откуда: Северодонецк

Asus rt-n16 + dd-wrt + python + flask + arduino

Сообщение kharlashkin » 10 апр 2017, 08:33

Zyxmon писал(а):Зачем же перепрошивать, вытащили флешку с entware, поставили чистую и ставьте на нее другую репу.

Т.е. просто удалить все папки на флешке и перегрузиться? Хм как просто...
Доступа локального к маршрутизатору нет - только telnet, да и флешка одна - вытягивать, форматировать, вставлять обратно.

kharlashkin
Сообщения: 9
Зарегистрирован: 09 апр 2017, 16:09
Откуда: Северодонецк

Asus rt-n16 + dd-wrt + python + flask + arduino

Сообщение kharlashkin » 10 апр 2017, 14:41

Нашел в документации и на просторах решение. Как говорится "это не баг, это фича". Собственно код:

Код: Выделить всё

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return "Hello world!"

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True, use_reloader=False)

kharlashkin
Сообщения: 9
Зарегистрирован: 09 апр 2017, 16:09
Откуда: Северодонецк

Asus rt-n16 + dd-wrt + python + flask + arduino

Сообщение kharlashkin » 12 апр 2017, 07:38

Пришла беда откуда не ждали. Оказывается драйвер для китайских Arduino (CH340G) не идет в комплекте с прошивками dd-wrt, есть только в репозиториях OpenWRT и TomatoUSB. Наш уважаемый Zyxmon отвечает что не будет добавлять драйвера к Entware-ng.
Zyxmon писал(а):Источник цитаты nikola.75, модули ядра зависят от устройства, используемого ядра, его конфига.
Entware - универсальный репозиторий для всех устройств, там нет и не может быть модулей ядра (драйверов)!

Хотя на предыдущей версии форума уже что-то похожее делали.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1234
Зарегистрирован: 09 авг 2015, 14:33

Asus rt-n16 + dd-wrt + python + flask + arduino

Сообщение Zyxmon » 12 апр 2017, 08:41

На предыдущей версии форума рассматривали zyxware - репозиторий для определенных моделей zyxel (никакого универсализма).

kharlashkin
Сообщения: 9
Зарегистрирован: 09 апр 2017, 16:09
Откуда: Северодонецк

Asus rt-n16 + dd-wrt + python + flask + arduino

Сообщение kharlashkin » 12 апр 2017, 09:09

Zyxmon писал(а):На предыдущей версии форума рассматривали zyxware - репозиторий для определенных моделей zyxel (никакого универсализма).

Я понимаю Ваше желание оградить себя от поддержки множества устройств. Именно поэтому и не стал писать просьбу о сборке пакета заранее зная какая будет реакция. Например сейчас у меня установлены вот такие драйвера:
Изображение
Т.е. как видно ch31x.ko нет, но я уже много мест нашел где взять :)
Вчера (вернее сегодня под утро) уже чего только не находил и попробовал. А оказалось что можно лишь всего попросить Вас поделиться опытом установки или создания подобного драйвера.
P.S. Драйвер ch340g для OpenWRT есть - kmod-usb-serial-ch341_3.18.20-1_ar71xx.ipk из последних, но как его установить или что с ним дальше делать - не пойму. В репозитории OpenWRT для dd-wrt этого модуля нет. Ставить OpenWRT на свой маршрутизатор только ради этого драйвера буду делать в последнюю очередь.

kharlashkin
Сообщения: 9
Зарегистрирован: 09 апр 2017, 16:09
Откуда: Северодонецк

Asus rt-n16 + dd-wrt + python + flask + arduino

Сообщение kharlashkin » 12 апр 2017, 09:18

Zyxmon писал(а):Тут все нужное для сборки и готовый модуль для белых кинетиков. Пришлось перетащить функцию u16 get_unaligned_le16 из бродкомовского ядра в исходники модуля (в ядре для белого кинетика ее не было).

Вопрос, а что из себя изнутри представляет упомянутый Вами "белый кинетик". Есть ли вероятность что собранный тогда драйвер взлетит у меня. Потому как тоже броадком...


Вернуться в «Песочница»

Кто сейчас на конференции

Всего 1 посетитель :: 1 зарегистрированный, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

Сейчас этот форум просматривают: CommonCrawl [Bot] и 0 гостей