wln.associate на GA1000
GA1000 может подключаться к точкам доступа, а также к другим беспроводным устройствам (станциям), держащим сети ad hoc.
Перед ассоциацией потребуется задать защиту WEP или WPA (если она нужна).
Метод wln.associate будет отклонён (вернёт 1 - REJECTED), если:
- В данный момент выполняется другая задача.
- Беспроводной модуль расширения Wi-Fi не загружен должным образом (wln.enabled = 0 - NO).
- Интерфейс Wi-Fi уже подключён к сети или держит собственную сеть ad hoc (wln.associationstate <> 0 - PL_WLN_NOT_ASSOCIATED).
Чтобы устройство смогло успешно подключиться, ему нужно знать несколько ключевых параметров целевой сети:
- SSID (имя) этой сети.
- BSSID (MAC-адрес) этой сети.
- Канал, на котором работает сеть.
- Режим BSS этой сети (то есть является ли она сетью инфраструктуры, созданной точкой доступа, или сетью ad hoc, созданной другой станцией).
Обычно SSID известен, а вот BSSID, канал и режим BSS придётся поискать. Проще всего выяснить правильные значения этих параметров через сканирование. Методы wln.scan или wln.activescan заполнят правильными данными свойства wln.scanresultbssid, wln.scanresultchannel и wln.scanresultbssmode (только чтение). В примере ниже показано, как их с пользой применить.
После завершения задачи ассоциации нужно проверить её результат. Это можно сделать через свойство wln.associationstate.
'connect to the access point named TIBBO.
wln.scan("TIBBO") 'scanning for a specific network will give us necessary parameters (you can also use wln.activescan)
While wln.task<>PL_WLN_TASK_IDLE
Wend
If wln.scanresultssid<>"" Then
'wireless network not found
End If
'now can associate: 'wln.scanresult...' properties contain necessary data after the scanning
wln.associate(wln.scanresultbssid, wln.scanresultssid, wln.scanresultchannel, wln.scanresultbssmode)
While wln.task<>PL_WLN_TASK_IDLE
Wend
If wln.associationstate=PL_WLN_ASSOCIATED Then
'successful association!
...
End If
Если защита не используется или используется защита WEP, обмен данными через интерфейс Wi-Fi можно начинать сразу после ассоциации. В случае WPA или WPA2 завершение wln.associate - лишь первый шаг: дальше следует длительный обмен сообщениями. Лучше всего поручить его нашей библиотеке WLN!