Уведомления

Группа в Telegram: @pythonsu

#1 Июль 27, 2018 17:10:29

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

Пишу на python3 web-морду для raspberry pi. На raspberry.local должны отображаться ip, температура процессора и т.д. В том числе и список видимых wi-fi сетей. Использовал библиотеку wifi
Скрипт

 import wifi
cells = wifi.Cell.all('wlan0')
wi=list(cells)
print(wi)
дает искомый список сетей, т.е. библиотека рабочая, wi-fi тоже работает, сети есть.
Проблема начинается, когда внедряю этот скрипт в основной код приложения (web-морда на flask). Всегда возвращается пустой список.
 from flask import render_template
from app import app
import wifi
import time
cells = wifi.Cell.all('wlan0')
time.sleep(1)
wi=list(cells)
@app.route('/')
@app.route('/index')
def index():
    return render_template('index.html', title='Home', wi=wi, cells=cells)

Подскажите, почему так происходит и как обойти.
Спасибо!

Офлайн

#2 Июль 27, 2018 22:17:09

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Странная работа библиотеки wifi

на rpi wifi есть? там вроде тока со свистком
http://robocraft.ru/blog/electronics/3162.html

Отредактировано vic57 (Июль 27, 2018 22:21:14)

Офлайн

#3 Июль 28, 2018 02:13:57

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10024
Репутация: +  857  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

В самом шаблоне страницы что написано?



Офлайн

#4 Июль 28, 2018 08:12:52

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

на rpi wifi есть? там вроде тока со свистком
На pi 3 B есть. Говорю же, первый скрипт выдает актуальный список сетей.
В самом шаблоне страницы что написано?
Кроме заголовка только
 <p>{{wi}}</p>
В браузере показывает квадратные скобки (пустой список).
Сделал так: a=wi Интерпритатор ругается на несуществующий элемент. Так что проблема не в выводе в шаблон. Список реально пустой

Может, есть у кого на примете хорошая wi-fi-библиотека? Кроме этой нашел парочку, но на них с документацией как-то совсем плохо.

Отредактировано dnstuff (Июль 28, 2018 08:21:29)

Офлайн

#5 Июль 28, 2018 09:10:08

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Странная работа библиотеки wifi

так ты сделай отдельный роут для теста типа

 @app.route('/wifi')
def get():
    cells = wifi.Cell.all('wlan0')
    wi=list(cells) 
    return '<br>'.join(wi)
имхо косяк в шаблоне. если в консоли работает - все должно выдаваться

Отредактировано vic57 (Июль 28, 2018 09:21:16)

Офлайн

#6 Июль 28, 2018 10:49:06

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

vic57
так ты сделай отдельный роут для теста типа
Что-то не работает join. Если просто, допустим
 return '<br>wi-fi list:'
то текст выводит нормально. А если
 return '<br>wi-fi list:'.join(wi)
то вообще только пустой экран. То есть даже текста нет, но и ошибок тоже не выдает

А, ну да, с пустым списком так и должно получаться. Выходит, список действительно пуст.

Отредактировано dnstuff (Июль 28, 2018 11:04:55)

Офлайн

#7 Июль 28, 2018 11:05:32

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Странная работа библиотеки wifi

запускай с

 app.run(debug=True)
в браузер надо отдавать строку, а не питон-переменные
 print(wi)
в консоли что выдает?

Офлайн

#8 Июль 28, 2018 11:30:52

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

Так, вроде нащупал. Если выполнять flask run, то список пустой. Если sudo flask run, то выводит что нужно. Осталось понять, кому на что и как дать права.

Офлайн

#9 Июль 28, 2018 16:51:19

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Странная работа библиотеки wifi

Scanning requires root permission to see all the networks. If you are not root, iwlist only returns the network you are currently connected to.

Офлайн

#10 Июль 28, 2018 16:56:44

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

Спасибо! А как настроить права, чтобы скрипт мог автономно работать? Пишут, что надо атрибуты папки /dev менять, но это не работает.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version