Интерфейс для работы с NXT-устройствами
09.05.2017
Объект для управления Lego Mindstorms NXT платформы создаётся с использованием конструктора CreateNxtRemote:
myObject.CreateNxtRemote()
Методы:
- Beep( int freq, float dur ) - посылает устройству команду воспроизвести звук заданной частоты и длительности
- Brake( str motors ) - посылает устройству команду торможения указанных моторов
- CheckConnection() - проверяет связь с устройством
- Connect( name ) - устанавливает связь с устройством
- Disconnect() - разъединяет связь с устройством
- Drive( str motors, int power, int rotations, options ) - запускает двигатель устройства
- FileFindFirst( str pattern ):{} - возвращает объект nxtinfo c информацией о первом найденном файле в устройстве по заданному шаблону:
obj.FileFindFirst( '*.*' );
- FileFindNext( int handle ):{} - находит следующий файл в устройстве по заданному дескриптору
obj.FileFindNext( my_nxtinfo.GetHandle() );
- GetBtAddress():str - возвращает адрес Bluetooth-устройства
- GetBtName():str - возвращает имя Bluetooth-устройства
- GetCurrentProgram() - возвращает информацию о выполняющейся в текущий момент времени программе NXT-G
- GetRotationCount( str motor ):float - возвращает количество оборотов мотора
- GetType() - возвращает тип объекта:
myObject.GetType(); // возвращает "NxtRemote"
- IsBluetoothEnabled():bool - проверяет, доступен ли Bluetooth на телефоне/планшете
- IsConnected():bool - проверяет, установлена ли связь с устройством (без отображения всплывающего сообщения)
- IsEnabled():bool - проверяет, доступно ли устройство
- IsMotorIdle( (str) motor ):bool - проверяет, работают ли указанные моторы в настоящее время
- IsPaired( str name ):bool - проверяет, спарено устройство или нет
- PlaySoundFile( str file, int repeat ) - посылакт устройству команду воспроизвести доступный на устройстве звуковой файл ( .rso). В параметре repeat задаётся количество повторов воспроизведения
myObject.PlaySoundFile( 'myFile.rso' ,2 );
- ReadColorSensor( int input, (str) mode ) - принимает данные с датчика цвета:
- input - номер порта от 1 до 4
- mode - одно из значений "ColorDetect", "LightSense", "RedSense", "GreenSense", "BlueSense"
При выборе режима "ColorDetect" метод возвращает число от 1 до 6, соответствующий цветам: black, blue, green, yellow, red, white. Для преобразования числа в название цвета служит метод ToColorName. В остальных режимах возвращается интенсивность света или цветовой составляющей в диапазоне от 0 до 1023.
myObject.ReadColorSensor( 1 , "LightSense" );
- ReadDistanceSensor( int input ):float - принимает данные от датчика расстояния на заданном порту (от 1 до 4). Возвращает значение в см.
- ReadLightSensor( int input, bool active ):int - принимает данные датчика освещения от 0 до 100. Задайте true параметру Active, если при считывании необходимо, чтобы белый цвет был включён.
- ReadMail( int mailbox,('Text','Number','Logic') type, bool remove ) - читает отправленное устройством сообщение. В параметре mailbox задаётся номер почтового ящика от 1 до 10. В параметре type указывается тип отправляемого значения. В параметре remove задаётся true, еслинужно удалить сообщение после его чтения, или false, если сообщение нужно оставить
- ReadSoundSensor( int input, ('DB', 'DbA') mode ) - принимает данные от датчика звука на указанном порту в децибелах или взвешенных децибелах
- ReadTouchSensor( int input ):bool - принимает данные от датчика касания на заданном порту (от 1 до 4). Возвращает true при касании.
- RequestEnable() - вызывает системный диалог, который может включить Bluetooth, если он был выключен на телефоне/планшете. Если Bluetooth включен, то вызова диалога не производится. Будьте осторожны при немедленном вызове методов IsEnabled или IsBluetoothEnabled для проверки состояния Bluetooth сразу после вызова RequestEnable. RequestEnable не останавливает выполнение программы и не существует метода, определяющего момента завершения её работы
- Reset( str motors ) - освобождает мотор
- SendMail( int mailbox, ('Text','Number','Logic') type, str msg ) - отправляет сообщение устройству, которое может быть прочитано нормальной NXT-G программой, запущенной на устройстве. В параметре mailbox задаётся номер почтового ящика от 1 до 10. В параметре type указывается тип отправляемого значения
- SetInvert( bool invert ) - посылает устройству команду инвертировать направление команд для моторов, при указании true в параметре
- SetLampColor( int input, (str) clr ) - посылает устройству команду включить световому модулю заданный цвет:
- input - номер порта от 1 до 4
- clr - название цвета 'White', 'Red', 'Green', 'Blue', 'Off'
- SetOnConnect( callback ) - задаёт ФОВ, вызываемую при попытке соединения с устройством
- SetOnConnectEx( callback ) - не документировано
- SetOnConnected( callback ) - задаёт функцию для выполнения действия после успешного установления связи с устройством
- ShowDevices() - показывает диалог со списком спаренных NXT-устройств для выбора того, с которым нужно установить связь.
- StartProgram( str name ) - запускает на выполнение программу NXT-G (.rxe)
- Stop( str motors ) - посылает устройству команду отключить подачу энергии заданным моторам и остановить их.
- StopProgram() - останавливает выполнение NXT-G программы, которая выполняется в текущий момент времени
- ToColorName( int val ):(black, blue, green, yellow, red, white) - возвращает название цвета по заданному номеру. Используется для расшифровки данных, поступающих от датчика цвета