Cc1101 подключение к компьютеру
Note: Find out about the laws in your country. Use at your own risk.
Attention! in version 2.5.7 there are changes for the internal transfer functions regarding the gdo pin assignment!
attention: currently i can only answer questions very belatedly. try to scour existing problems for a solution if possible. Problems that have not yet been closed are mostly already solved! thanks for your understanding
Can be downloaded directly from the Arduino library manager. Just search for cc1101.
First of all, thanks to Elechouse that I can make the modified library accessible to everyone.
The library has been redesigned and some improvements have been made.
Among other things, you can now also use the internal send / receive function.
I would be happy to receive your suggestions for further examples from other libraries.
All examples included are listed in the next field.
Description: CC1101 Internal send / receive examples. Supported modulations 2-FSK, GFSK, ASK/OOK, 4-FSK, MSK.
Description: Arduino lib to operate 433/315Mhz devices like power outlet sockets.
Description: This library provides an easy class for Arduino, to send and receive signals used by some common "new style" 433MHz remote control switches.
Description: This library provides an easy class for Arduino, to send and receive signals used by some common weather stations using -remote 433MHz sensors.
Description:This Arduino library is a port of the pilight 433.92MHz protocols to the Arduino platform. It was tested with a ESP8266. The aim is to transmit, receive and parse many 433.92MHz protocols, by providing a simple Arduino friendly API. This should help to implement IoT bridges between the 434MHz-RF band and internet protocols.
This driver library can be used for many libraries that use a simple RF ASK module, with the advantages of the cc1101 module.It offers many direct setting options as in SmartRF Studio and calculates settings such as MHz directly.
The most important functions at a glance:
ELECHOUSE_cc1101.Init(); //Initialize the cc1101. Must be set first!
ELECHOUSE_cc1101.setPA(PA); //Set transmission power.
ELECHOUSE_cc1101.setMHZ(MHZ); //Set the basic frequency.
ELECHOUSE_cc1101.SetTx(); //Set transmit on.
ELECHOUSE_cc1101.SetTx(MHZ); //Sets transmit on and changes the frequency.
ELECHOUSE_cc1101.SetRX(); //Set receive on.
ELECHOUSE_cc1101.SetRx(MHZ); //Sets receive on and changes the frequency.
ELECHOUSE_cc1101.setRxBW(RXBW); //Set Receive filter bandwidth
ELECHOUSE_cc1101.setGDO(GDO0, GDO2); //Set Gdo0 (tx) and Gdo2 (rx) for serial transmission function.
ELECHOUSE_cc1101.setSpiPin(SCK, MISO, MOSI, CSN); //custom SPI pins. Set your own Spi Pins.Or to switch between multiple cc1101. Must be set before init and before changing the cc1101.
ELECHOUSE_cc1101.setChannel(chnl); //Set Channel from 0 to 255. default = 0(basic frequency).
ELECHOUSE_cc1101.setClb(fband, cal1, cal2); //Optionally enter Offset Callibration. Requirements: Sketch Calibrate_frequency.ino below CC1101-Debug-Service-Tool.A SDR receiver and SDR software.
ELECHOUSE_cc1101.setGDO0(GDO0); //Sets Gdo0 for internal transfer function.
ELECHOUSE_cc1101.addGDO0(GDO0, Modul); //Adds Gdo0 for internal transfer function (multiple cc1101).
ELECHOUSE_cc1101.addGDO(GDO0, GDO2, Modul); //Adds Gdo0 (tx) and Gdo2 (rx) for serial transmission function (multiple cc1101).
ELECHOUSE_cc1101.addSpiPin(SCK, MISO, MOSI, CSN, Modul); //Adds Spi Pins for multiple cc1101.
ELECHOUSE_cc1101.setModul(Modul); //Switches between modules. from 0 to 5. So a maximum of 6.
The new features are not final and can be changed at any time.
All can also be used in a loop and are applied directly.
Notes: A logic level converter is recommended for arduino. It also works well without. Use at your own risk.
If you like the library, I would be happy about a star.
you can support me with a donation.
Driver Library :Fixed a bug when initalizing multiple cc1101
Driver Library :new commandos for easy handling of multiple cc1101
Driver Library :Add NUM_PREAMBLE. Sets the minimum number of preamble bytes to be transmitted.
Driver Library :Error correction for CheckRxFifo and CheckReceiveFlag (reception internal CC1101 function).
Driver Library :No big frequency jumps over SetRx(freq); Possible. Fixed! Big thanks to NorthernMan54 for testing!
Driver Library :double-initaliesing option from V2.5.3 has been removed. Necessary for SetRx(freq); to use.
Driver Library :Putting rx tx has no effect if they are already in mode. Prevents unnecessary double-initaliesing.
Driver Library :new command added: ELECHOUSE_cc1101.goSleep(); //Enter power down mode. For wakeup set RX or TX.
Driver Library :new command added: ELECHOUSE_cc1101.getMode(); //Return the Mode. Sidle = 0, TX = 1, Rx = 2.
Driver Library :new command added: ELECHOUSE_cc1101.setSidle(); //Set Rx / Tx Off.
Driver Library :new command added: ELECHOUSE_cc1101.getCC1101(); //Test Spi connection and return 1 when true.
Examples :RcSwitch Repeater_cc1101.ino has been shortened.
Driver Library :SpiWriteReg, SpiReadReg, SpiWriteBurstReg and SpiReadBurstReg change to public. Allows additional modifications from sketch.
Driver Library :Setrx no longer has to be set to receive.(internal transmission methods)
Driver Library :Gdo pins are now set to input / output with set gdo instead of Init.
Driver Library :Added new sending method. Allows sending without a gdo0 pin.
notes :The new internal send and receive methods now work completely without an additional gdo pin.
Driver Library :When changing from receiving to sending, the program freezes (internal send functions). fixed!
Driver Library :Rssi was calculated incorrectly.Fixed Thanks to zapquiyou!
Driver Library :New receiving method for internal examples added. Allows several actions to be carried out in the loop.
Driver Library :Internal Crc check added for internal examples.
Driver Library :Simplification to send char added for internal transfer examples.
Driver Library :A lot of new settings added for internal transmission examples. Everything can be set as in SmartRF Studio and is calculated automatically. An overview: setDeviation, setChsp, setRxBW, setDRate, setSyncMode, setSyncWord, setAdrChk, setAddr, setWhiteData, setPktFormat, setLengthConfig, setPacketLength, setCrc, setCRC_AF, setDcFilterOff, setManchester, setFEC, setPQT, setAppendStatus. description in the examples!
Driver Library :frequency calculator has been simplified. error-free calculations and less variables.
Driver Library :Added frequency calibration option.
Driver Library :Certain frequencies could not be set. Fixed! Big thanks to gusgorman402!
Driver Library :setChsp has been removed to save space. This function is available in the Service / Debug Tool as an extended function.
Driver Library :set AGCCTRL2 from 0x07 to 0xC7. Reception is significantly improved!
Driver Library :set FSCTRL1 from 0x08 to 0x06. for better receive.
Driver Library :set SpiWriteReg to public. Make it fit for debug tool!
Driver Library :set SpiStrobe to public. Make it fit for debug tool!
Driver Library :Set gdo2 from input to output. Errors in libraries that use the pins directly.
examples :Set gdo2 from setting 2 to 0 in default examples. Gdo2 is not required for these examples.
Driver Library :ESP8266/32 core panik. Fixed! The cc1101 must be initialized before setting options!
examples :all examples have been adapted.
examples :internal cc1101 examples have been adapted for esp8266/32.
examples :ESPiLight examples added.
Driver Library :"RcSwitch-cc1101-driver-lib" becomes "SmartRC-cc1101-driver-lib".
Driver Library :Frequency calculator certain frequencies were calculated incorrectly. fixed!
Driver Library :Intelligent Pa Table system added. When changing the band The corresponding table is set via setTx / Rx and the frequency set to basic calibrated. All module internal transmission powers can now be set according to the band.
Driver Library :Newly calibrated base frequency on chan 0 according to the SmartRF Studio.
Driver Library :Channel spacing calculator can enter directly the spacing area in khz.
Driver Library :Modulation setting added for internal transmission methods
Driver Library :ESP32 reception improvements.
Driver Library :Direct conversion of the RSSI level in the library.
Driver Library :Correction of version numbering.
examples :New examples added "RemoteSensor library".
examples :New examples added "Elechouse CC1101 default examples"
examples :Remote Fusion has been removed and given an extra library.
Driver Library :Spi options have been removed. (Problems with ESP32) FIXED!
notes :everything was checked again. D-SUN module on esp8266 / 32 and so on.
Version notes :Spi was reconfigured for fix some issuses.
Driver Library :HotFix for cc1101 module with "8pins"(example DSun). Transmitting on Esp8266 based bords not work. FIXED!
Driver Library :Change "SpiReadStatus" to public. Now can read RSSI Level!
Driver Library :Spi transfer rate was limited to cc1101 max transfer rate (10mhz).
Driver Library :After using Spi, it will now be disabled. (receive data from serial monitor and rx pin was not working on Esp 8266/32) FIXED!
Add Examples :ReceiveDemo_Simple_with_RSSI_cc1101.ino (Shows reception strength)
Add Examples :Frequency_Scanner_cc1101.ino (Scans Transmitting frequency of your remotes. No good results with cc1101-DSun)
Add Examples :ProtocolAnalyzeDemo_cc1101.ino (for scan unknown protokolls. Requires: link is in sketch!)
Driver Library :Spi corrections for esp32. Spi Pin changes did not work on esp32. FIXED!
Driver Library :Own Spi pin settings possible. Allows the use of other microcontrollers. Allows you to use multiple CC1101s. More information in the commands.txt
Add TXT :driver lib commands and examples.txt
Driver Library :setESP8266 has been removed. Pins are set automatically with the init command.
Driver Library :Arduino mega SPI pins added.
Add Wiring TXT :WIRING MEGA.txt
Add Wiring JPG :WIRING MEGA.jpg
LICENSE :LICENSE.txt Update.
notes :setGDO is not compatible with RC_Switch / NewRemotSwitch.
Fixes Remotes Fusion :Receive mode and Repeater mode frequency, changes to the transmitter frequency after pressing on a transmitter. (RemotesFusion.ino)Fixed!
NewRemoteSwitch :LearnCode_cc1101.ino (corrections).
Added :Keywords.txt added.
New Sketch :Clear_EEPROM.ino (if there are problems with the access point password or if you want to use your ESP for other projects).
New Sketch :RemotesFusion.ino.
New Apk´s :RemotesFusion_V1_en.apk / RemotesFusion_V1_de.apk.
Add Docs :Docs and manuals for RemotesFusion.
Changes :channel spacing and channel set was removed from the examples. unnecessary because exact frequency can be set.
notes :RemotesFusion is an application with which Rc-Switch and NewRemoteSwitch can be controlled at the same time. A universal remote control APP with many possibilities. Only for Esp 8266/32 modules! For more information, watch the docs.
Driver Library :Added pin settings for esp32.
Examples :Added pin settings for esp32 examples.
Add Wiring JPG :Add Wiring JPG esp32.
Add Wiring TXT :Add Wiring TXT esp32.
Add Wiring JPG :Add Wiring JPG esp32 for Receive_Send_Decimal_Demo_Simple.ino.
Examples :All NewRemoteSwitch examples are compatible with ESP. Exception Retransmitter_cc1101.ino.
Driver Library :Frequency calculator calibrated. Difference -0.01 MHz. (Fixed!) Frequency is now accurate.
Driver Library :Now you can Switch the frequency in loop. Examples: ELECHOUSE_cc1101.SetTx(433.92); and ELECHOUSE_cc1101.SetRx(433.92);.
Driver Library :Now you can enter your base frequency directly.The library calculates the settings automatically. example(433.92)
Driver Library :Remove freq2, freq1 and freq0 Settings.
Driver Library :Removed unnecessary entries. the library shrank from 32,8kb(.cpp) and 9,38kb(.h) to 17,0kb(.cpp) and 7,87kb(.h).
New Example :(NewRemoteSwitch Library) NewRemoteRepeater.ino. Repeat the Received signal 1to1. Best thanks to Roman for write it.
Examples Fix (rc-switch):Fix auto receive pulse. Received pulse don´t transmit. Fixed!(Repeater.ino and Receive_Send_Decimal_Demo_Simple.ino).
Esp8266 :Compatibility for all RC switch examples.
Driver Library :Add the GDO2 pin for Receive. Change GDO0 to send.
Wiring changes :Description in jpg's and txt's.
Examples :All examples have been adjusted.
Examples :Esp and Arduino are set automatically.
Add Examples :NewRemoteSwitch Compatible examples.
Driver Library :You can now switch directly from Tx to Rx in the loop. Without resetting the cc1101.
Add Examples :New Repeater Example for Rc-switch. For example, to increase the range of your remote control.
Example changes :Receive_Send_Decimal_Demo_Simple.ino (remove unnecessary commands).
Examples Fix :Rc-Switch examples fix TypeA, TypeB and TypeD (missing from semicolon to SetTx).
Notes :NewRemoteSwitch examples Retransmitter_cc1101.ino and LightShow_cc1101.ino only Arduino.
Notes :Rc-switch example Repeater_cc1101.ino only Arduino.
Notes :Rc-switch example Receive_Send_Decimal_Demo_Simple.ino only Arduino.
Driver Library :esp8266 Compatibility (Tested with Wemos d1 mini).
Driver Library :Change default Receive filter bandwidth to 812khz (max).
Driver Library :Change default Tx Power to PA10 (max).
Examples :Add set esp command and pin settings.
Examples :Diskription change.
Demo Example :Add auto Recive and Send pulse length. (Receive_Send_Decimal_Demo_Simple.ino)
Add Wiring JPG :Add Wiring JPG esp8266.
Add Wiring TXT :Add Wiring TXT esp8266.
Notes :esp8266 pin D4 don´t work with receive, Transmit and receive is set to D2.
Notes :esp8266 don´t work with Receive_Send_Decimal_Demo_Simple.ino (freezes when reset cc1101).
Driver Library Fix :no effect set by transmission power.
Driver Library :Transmitting power can be adjusted via frequency(example in the sketches).
Examples :Command Tx Power cleared.
Examples Fix :set Receive filter bandwidth (command incomplete) Fixed.
Driver Library :Add Channel List. Now you can set channel numbers 0-255.
Driver Library :Add bandwidth can be adjusted
Driver Library :transmission power can be adjusted
Driver Library :can set your own frequency settings (freq2, freq1, freq0)
Driver Library :Channel spacing can be set.
Examples :Add set new commands
Driver Library :Add 315Mhz Support.
Driver Library :Add Channel command for finetune (80khz steps) from 420mhz - 440mhz / 302mhz - 322mhz.
Examples :Add set channel command in examples.
Driver Library Fix :Calibrated Frequency from 433.86 to 433.92 - 433.93 Mhz.
Driver Library :cc1101 reset command added (allows switching between send and receive.)
New Demo Example :Receive_Send_Decimal_Demo_Simple.ino (Sends last received decimal code) To illustrate the change between RX and TX (press button = send / do not press button = receive)
Add Wiring JPG :Wiring for Receive_Send_Decimal_Demo_Simple.ino
Add Wiring JPG :Wiring for Nano / Uno
cc1101 Compatibility for RC-Switch.
cc1101 RC-Switch Compatible examples.
AT команды
Примечание: все изменения будут применены только после выхода режима AT.
Режимы передачи последовательного (UART) порта
Режим | FU1 | FU2 | FU3 | FU4 | Примечание |
Idle current | 3.5mA | 80μA | 22mA | 22mA | среднее значение |
Transmission time delay | 20ms | 380ms | 2s | 7ms | Отправка одного байта |
Loopback test time delay 1 | 31ms | 8ms | 22ms | Скорость передачи 9600, отправка одного байта | |
Loopback test time delay 2 | 31ms | 18ms | 40ms | Скорость передачи 9600, отправка одного байта |
Схема подключения HC-11 к компьютеру, микроконтроллеру или Arduino:
AT — Режим команд
Чтобы войти в режиме AT команд, подключаем к земле вывод CON (5-й пин).
About
This driver library can be used for many libraries that use a simple RF ASK module, with the advantages of the cc1101 module. It offers many direct setting options as in SmartRF Studio and calculates settings such as MHz directly.
Но как в последствии оказалось эти модули хорошо работают только под управлением софтины SmartRF Studio7. Иными словами, чтобы модуль работал его требуется подключить к компьютеру через специальный девайс, ну а без компа- эта обычные "дрова".
Пожалуйста подскажите имеется-ли возможность стартануть и перестраивать эти модули в режиме передачи без компа.
По описанию эти т рансиверы на базе cc1101 совместно с SmartRF Studio7 выглядят очень даже хорошо. При помощи SmartRF Studio7 у них можна програмна изменять частоту, мощность, менять вид модуляции, генерировать БЕЛЫЙ ШУМ и многое другое. Однако меня это не устраивает потому-чта использовать модуль подключенный к компьютеру в полевах условиях - несподручна. Хотелось бы решить эту проблему как-та боле-мене автономна. Скажем при помощи какого нибудь простенького самодельного или купленного девайса, чтобы при подключении радиомодуля на базе сс1101 его можно было полноценно использовать без здоровенного компьютера.
Особых знаний в програмированьи у меня нет. Старый уже-пенсионер. Но паяльник в руках держать ещё магу и опыт прошивания готовыми прошивками также имею.
Заранье всем благодарен если кто-та ответит и поделится своим опытом.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Обе ссылки не рабочие.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Поясните, как вы хотите использовать эти модули без компа?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Braun, у этих микрух обычный SPI порт, использую их с stm, к абдурине тоже можно прикрутить, только без анализатора спектра все равно, что ловить черную кошку в темной комнате, впрочем на этом ресурсе это нормальная практика.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Для моего проекта приёмник, который установленный в этам модуле -мне требуется. Использовать хочу толька передатчик. По умолчанию он запрограммирован на частоту 433.92 Мгц. Мне же требуется 434.410 МГц, модуляция AM и FM, ну и естественна максимальная мощность в антенне. Низкочастотный модулятор я бы сам спаял.
Модуль подключенный через маленький USB Device к компу на котором установлена прогрпмма-симулятор SmartRF Studio, с этай задачей справляется отлична. Прграммно можно гонять частоту в широком диапазоне частот, изменять модуляцию, подключать модулятор и использовать генератор белого шума. Но как только отключаешь модуль от компа он становится куском железа.
Моя приблуда которую я бы хотел смастерить должна работать не дома на рабочем столе, а в "полевых условиях". Поэтаму исчу способ как бы перепрограммировать этот модуль а затем подключив его к какому нибудь простенькому девайсу и батарейку гонять его на нужной мне частоте и нужной модуляцией. Которую неделю юзаю в интернет, исчу какую нибудь простеньку схемку для прикуривания этого злосчастного модуля. Увы, информации никакой.
Посмотрел на Aliexpress люди охотно раскупают эти модули. Значит востребованы они.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Braun, у этих микрух обычный SPI порт, использую их с stm, к абдурине тоже можно прикрутить, только без анализатора спектра все равно, что ловить черную кошку в темной комнате, впрочем на этом ресурсе это нормальная практика.
Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.
Может у Вас имеется сылочка на какой-нибудь сайт, для того чтобы ознакомится, как можно выставить и зафиксировать нужные мне параметры передатчика (перепрограммировать).
Плата Arduino UNO у меня имеется.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Увы, информации никакой.
Посмотрел на Aliexpress люди охотно раскупают эти модули. Значит востребованы они.
В Германии Гугл запретили?
Первая ссылка при поиске "cc1101 arduino"
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Использование RF модуля cc1101 совместна с платой Ардуино -эта тоже самое что я использую сейчас сс1101 модуль но толька через USB-RF Device.
Если отключить Ардуинку от компа, то модуль автоматически отрубится тоже.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Использование RF модуля cc1101 совместна с платой Ардуино -эта тоже самое что я использую сейчас сс1101 модуль но толька через USB-RF Device.
Если отключить Ардуинку от компа, то модуль автоматически отрубится тоже.
Нет не прав. Слабо приведенный там пример посмотреть?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.
Нельзя было облазить форумы "ДО" покупки?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А если по существу?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Обе ссылки не рабочие.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.
Нельзя было облазить форумы "ДО" покупки?
Как обычна эта бывает, поторопился и перепутал названья модулей. Вместа сс1110 купил сс1101. Схоже не правда-ли?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.
Нельзя было облазить форумы "ДО" покупки?
Как обычна эта бывает, поторопился и перепутал названья модулей. Вместа сс1110 купил сс1101. Схоже не правда-ли?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Braun, абдурино в помойку, надо брать stm и Keil. Но эта фраза
Для моего проекта приёмник, который установленный в этам модуле -мне требуется. Использовать хочу толька передатчик. По умолчанию он запрограммирован на частоту 433.92 Мгц. Мне же требуется 434.410 МГц, модуляция AM и FM, ну и естественна максимальная мощность в антенне. Низкочастотный модулятор я бы сам спаял.
О каком низкочастотном модуляторе речь? Терзают меня смутные сомнения, что аналоговый сигнал ты собрался передавать. если так, забудь про СС1101.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Braun, абдурино в помойку, надо брать stm и Keil. Но эта фраза
Для моего проекта приёмник, который установленный в этам модуле -мне требуется. Использовать хочу толька передатчик. По умолчанию он запрограммирован на частоту 433.92 Мгц. Мне же требуется 434.410 МГц, модуляция AM и FM, ну и естественна максимальная мощность в антенне. Низкочастотный модулятор я бы сам спаял.
О каком низкочастотном модуляторе речь? Терзают меня смутные сомнения, что аналоговый сигнал ты собрался передавать. если так, забудь про СС1101.
Полагаю что эти модули будет проще выбросить, по- следуюсчим причинам:
1. CC1101 - это не процессор. Точнее, ОН там есть, но закрыт для программирования, это "приватная жизнь" чипа и "Прошить" его программой невозможна. поскольку он залочен.
2. CC1101 -эта трансивер. Для работы и управленья им необходима подключиться к нему через интерфейс SPI (4 провода) с внешним процессором.
3. Толька через SPI можна получить доступ к внутренним "мозгам" CC1101 - регистрам, и соответственна получить возможность его настройки, управления, передачи и приема данных. ЭТА ИМЕННА ТО, ЧТО МЕНЯ ИНТЕРЕСУЕТ. Мне нужна схема с внешним процессором для управления модулем сс1101, чтоб гонять его без SmartRF Studio, а автономно.
4. Разработчик чипа сделал программу "SMart Rf Studio". Эта программа, которая настраивает чип на "человеческом" языке через её интерфейс (например, выбор типа модуляции - из списка, а не набором каких-та там битов в регистре). После настройки с экрана в "SMart Rf Studio" есть возможность создать конфигурационный файл с этими данными, уже в формате, "понятном" для CC1101 - установки регистров для CC1101.
5. Иными словами сначала необходима подобрать необходимый процессор и подключить к нему модуль CC1101 через SPI. Другога варианта я не вижу.
Цель моего вопроса в первом сообсчении какраз и заключалась в том, имеется ли у кого -нибудь схемка простенького девайса и подключения к модулю сс1101, с которым модуль мог бы работать в режиме ПЕРЕДАЧИ. Но как вижу кроме обсчих фраз, никаких рабочих решений по этаму поваду в настоясчий момент не имеется.
Но как в последствии оказалось эти модули хорошо работают только под управлением софтины SmartRF Studio7. Иными словами, чтобы модуль работал его требуется подключить к компьютеру через специальный девайс, ну а без компа- эта обычные "дрова".
Пожалуйста подскажите имеется-ли возможность стартануть и перестраивать эти модули в режиме передачи без компа.
По описанию эти т рансиверы на базе cc1101 совместно с SmartRF Studio7 выглядят очень даже хорошо. При помощи SmartRF Studio7 у них можна програмна изменять частоту, мощность, менять вид модуляции, генерировать БЕЛЫЙ ШУМ и многое другое. Однако меня это не устраивает потому-чта использовать модуль подключенный к компьютеру в полевах условиях - несподручна. Хотелось бы решить эту проблему как-та боле-мене автономна. Скажем при помощи какого нибудь простенького самодельного или купленного девайса, чтобы при подключении радиомодуля на базе сс1101 его можно было полноценно использовать без здоровенного компьютера.
Особых знаний в програмированьи у меня нет. Старый уже-пенсионер. Но паяльник в руках держать ещё магу и опыт прошивания готовыми прошивками также имею.
Заранье всем благодарен если кто-та ответит и поделится своим опытом.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Обе ссылки не рабочие.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Поясните, как вы хотите использовать эти модули без компа?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Braun, у этих микрух обычный SPI порт, использую их с stm, к абдурине тоже можно прикрутить, только без анализатора спектра все равно, что ловить черную кошку в темной комнате, впрочем на этом ресурсе это нормальная практика.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Для моего проекта приёмник, который установленный в этам модуле -мне требуется. Использовать хочу толька передатчик. По умолчанию он запрограммирован на частоту 433.92 Мгц. Мне же требуется 434.410 МГц, модуляция AM и FM, ну и естественна максимальная мощность в антенне. Низкочастотный модулятор я бы сам спаял.
Модуль подключенный через маленький USB Device к компу на котором установлена прогрпмма-симулятор SmartRF Studio, с этай задачей справляется отлична. Прграммно можно гонять частоту в широком диапазоне частот, изменять модуляцию, подключать модулятор и использовать генератор белого шума. Но как только отключаешь модуль от компа он становится куском железа.
Моя приблуда которую я бы хотел смастерить должна работать не дома на рабочем столе, а в "полевых условиях". Поэтаму исчу способ как бы перепрограммировать этот модуль а затем подключив его к какому нибудь простенькому девайсу и батарейку гонять его на нужной мне частоте и нужной модуляцией. Которую неделю юзаю в интернет, исчу какую нибудь простеньку схемку для прикуривания этого злосчастного модуля. Увы, информации никакой.
Посмотрел на Aliexpress люди охотно раскупают эти модули. Значит востребованы они.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Braun, у этих микрух обычный SPI порт, использую их с stm, к абдурине тоже можно прикрутить, только без анализатора спектра все равно, что ловить черную кошку в темной комнате, впрочем на этом ресурсе это нормальная практика.
Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.
Может у Вас имеется сылочка на какой-нибудь сайт, для того чтобы ознакомится, как можно выставить и зафиксировать нужные мне параметры передатчика (перепрограммировать).
Плата Arduino UNO у меня имеется.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Увы, информации никакой.
Посмотрел на Aliexpress люди охотно раскупают эти модули. Значит востребованы они.
В Германии Гугл запретили?
Первая ссылка при поиске "cc1101 arduino"
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Использование RF модуля cc1101 совместна с платой Ардуино -эта тоже самое что я использую сейчас сс1101 модуль но толька через USB-RF Device.
Если отключить Ардуинку от компа, то модуль автоматически отрубится тоже.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Использование RF модуля cc1101 совместна с платой Ардуино -эта тоже самое что я использую сейчас сс1101 модуль но толька через USB-RF Device.
Если отключить Ардуинку от компа, то модуль автоматически отрубится тоже.
Нет не прав. Слабо приведенный там пример посмотреть?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.
Нельзя было облазить форумы "ДО" покупки?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А если по существу?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Обе ссылки не рабочие.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.
Нельзя было облазить форумы "ДО" покупки?
Как обычна эта бывает, поторопился и перепутал названья модулей. Вместа сс1110 купил сс1101. Схоже не правда-ли?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.
Нельзя было облазить форумы "ДО" покупки?
Как обычна эта бывает, поторопился и перепутал названья модулей. Вместа сс1110 купил сс1101. Схоже не правда-ли?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Braun, абдурино в помойку, надо брать stm и Keil. Но эта фраза
Для моего проекта приёмник, который установленный в этам модуле -мне требуется. Использовать хочу толька передатчик. По умолчанию он запрограммирован на частоту 433.92 Мгц. Мне же требуется 434.410 МГц, модуляция AM и FM, ну и естественна максимальная мощность в антенне. Низкочастотный модулятор я бы сам спаял.
О каком низкочастотном модуляторе речь? Терзают меня смутные сомнения, что аналоговый сигнал ты собрался передавать. если так, забудь про СС1101.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Braun, абдурино в помойку, надо брать stm и Keil. Но эта фраза
Для моего проекта приёмник, который установленный в этам модуле -мне требуется. Использовать хочу толька передатчик. По умолчанию он запрограммирован на частоту 433.92 Мгц. Мне же требуется 434.410 МГц, модуляция AM и FM, ну и естественна максимальная мощность в антенне. Низкочастотный модулятор я бы сам спаял.
О каком низкочастотном модуляторе речь? Терзают меня смутные сомнения, что аналоговый сигнал ты собрался передавать. если так, забудь про СС1101.
Полагаю что эти модули будет проще выбросить, по- следуюсчим причинам:
1. CC1101 - это не процессор. Точнее, ОН там есть, но закрыт для программирования, это "приватная жизнь" чипа и "Прошить" его программой невозможна. поскольку он залочен.
2. CC1101 -эта трансивер. Для работы и управленья им необходима подключиться к нему через интерфейс SPI (4 провода) с внешним процессором.
3. Толька через SPI можна получить доступ к внутренним "мозгам" CC1101 - регистрам, и соответственна получить возможность его настройки, управления, передачи и приема данных. ЭТА ИМЕННА ТО, ЧТО МЕНЯ ИНТЕРЕСУЕТ. Мне нужна схема с внешним процессором для управления модулем сс1101, чтоб гонять его без SmartRF Studio, а автономно.
4. Разработчик чипа сделал программу "SMart Rf Studio". Эта программа, которая настраивает чип на "человеческом" языке через её интерфейс (например, выбор типа модуляции - из списка, а не набором каких-та там битов в регистре). После настройки с экрана в "SMart Rf Studio" есть возможность создать конфигурационный файл с этими данными, уже в формате, "понятном" для CC1101 - установки регистров для CC1101.
5. Иными словами сначала необходима подобрать необходимый процессор и подключить к нему модуль CC1101 через SPI. Другога варианта я не вижу.
Цель моего вопроса в первом сообсчении какраз и заключалась в том, имеется ли у кого -нибудь схемка простенького девайса и подключения к модулю сс1101, с которым модуль мог бы работать в режиме ПЕРЕДАЧИ. Но как вижу кроме обсчих фраз, никаких рабочих решений по этаму поваду в настоясчий момент не имеется.
1) Модули 3.3в, нужен преобразователь уровней. Можно просто воспользоваться делителем напряжения для линий из дуины в модуль (Slave In, Slave Select, Clock, Vcc) и напрямую подключить линию из модуля в дуину (slave out)?
2)Совсем не понял как посылать и принимать данные, всяческое изменения регистров, SmartRF Studio и прочее далеки от моего понимания :-(
Если кто-нибудь знает как работать с этой штукой (или CC1100, они почти аналогичны), подскажите? Заранее спасибо.
Промучился с этой штукой, почти ничего не добился, хотябы подключил и работает (отсылает статус-байты)
Чтобы сконфигурировать ее, получил значения с SmartRF Studio, загнал в массив [адресс][значение]
Чтобы записать, надо "наложить на адресс маску 0х00, а чтобы считать 0х80". Наложить маску - это как. Насколько я понял из даташита, то первый байт отправляемый по СПИ дожен выглядеть так [байт чтения\записи][байт одиночная запись\бурст запись][адресс]. 0-запись, 1 - чтение; 0-1 байт, 1-бурст. Т.о для чтения одного байта надо к его адресу прибавить 0x80, для записи одного - 0x00, для бурст соответсвенно 0xC0 и 0x40.
Вот так я делаю:
По идее, должен отсылать - но никак, токопотребление не возрастает. ЧТо я неправильно делаю?
До сих пор не получил результат. Как бы получается записывать регистры, вроде все понял, но постоянно статус-байт возвращает "TX FIFO has underflowed. Acknowledge with SFTX". Как-то получалось, что возвращалось и режим TX, RX, Fast Tx ready, но редко. В основном TX FIFO has underflowed.
Ставлю длина пакета фиксированная, 1 байт, Ограничения TX FIFO тоже 1 байт. Даташит утверждает, что Underflowed возникает при кол-ве байт ниже ограничения. Но ведь я записываю туда байты. Пишу:
А все равно underflowed. В чем может быть причина? Я неправильно пишу в регистры?
Кажется что-то есть. По прежнему пишет "TX FIFO underflowed", но судя по току (16мА, как раз ток передачи при 0Дб) передача идет. Что немного странно. Идет и с фиксированной, и с переменной длиной пакета.
Код (пока что кривой и отладочный):
По поводу SPI думаю, что все банально - так делать нельзя просто:
177 | SPI.transfer(_Adr | 0x40); //Пишим адрес и маску бурст записи |
Таким образом мы делаем два отдельных посыла, а не один из адреса и значения, поэтому и получаем фигню. Как будет время, перепишу обратно код на использование SPI библиотеки - использование аппаратных возможностей все же лучше, чем софтовая их реализация. Но для понимания работы SPI было интересно. Ваш Капитан Очевидность.
Короче, я в тупике - сплошной секс слепых в крапиве. Информации куча, но поймать сигнал от беспроводного датчика погодной станции не удается. Все, что я вижу, это скачки RSSI в момент передачи. Прерывание на прием пакета не срабатывает. Оно с какой то радости срабатывает при инициализации. Код ниже. Если кто-то может хоть что-то подсказать, буду рад. И еще - библиотека SPI работать так и отказалась - остался на софт реализации протокола.
По поводу SPI думаю, что все банально - так делать нельзя просто:
177 | SPI.transfer(_Adr | 0x40); //Пишим адрес и маску бурст записи |
Таким образом мы делаем два отдельных посыла, а не один из адреса и значения, поэтому и получаем фигню.
Это одно и то же. SPI не предполагает каких либо сигналов между двумя посылами.
Вероятнее всего, Вы просто не угадали с режимом: в SPI масса настроек (скорость, порядок следования битов, фаза синхросигнала, по какому фронту происходит запись и чтение). Коль изучили дэйташит на девайс, сможете понять, какого именно режима он требует, и установить в этот режим SPI контроллер Ардуино.
Между может и не предполагает, а вот в начале и конце посылки меняется уровень CSN, а этого как раз и не требуется. Настроек у SPI не такая уж и масса, и на первый взгляд там нет того, что требуется. Да и это пока что далеко не первоочередная дазача. Проблема в том, что CC1101 в принципе не хочет делать того, что мне нужно. Вернее, я не знаю, как его заставить - слишком большое количество настроек и нюансов. :(
Пока есть конкретный вопрос - я не понимаю, почему у меня дергается каждый при запуске скетча функция, привязанныя к внешнему прерыванию. В чем причина - не пойму.
Покурив даташиты (все ссылки на найденную литературу по CC1101 можной найти в самом начале скатча), был найден режим синхронной передачи данных, который выдает сырые полученные данные. Так как данные из эфира он получает постоянно - эфир зашумлен, был сделан своебразный фильтр по уровню принемаемого сигнала - учитывать уровень не менее, чем -60дБм. Значение чисто эмпирическое. Но фигня в том, что данные вылупляются со скоростью 500кбод. Это значение взято с потолка, так как неизвестен ни тип модуляции, ни символьная скорость передачи, ни длина посылов, ни, тем более, используемый протокол. Какая именно используется скорость передачи буду как-то выяснять эксперементально. Без этого пытаться расшифровать полученные данные бесполезно. Код ниже, опять же - принимаются любые мысли по тому, как упростить задачу.
UPD. Метод научного тыка - так себе. Стоило утащить датчик на свое место на балкон, как фильтр в -60 отсек полезный сигнал, а повышение чуствительности приводит к тому, что идет постоянный прием мусора. Надо что-то с этим делать.. А вот что.
UART Радиомодуль HC-11 построен на одно кристальных трансиверах CC1101 и микроконтроллере STM8 который реализует UART интерфейс.
Выводы
VCC | 3.2V — 5.5V (постоянный ток) |
GND | Земля |
RXD | П риёмник |
TXD | Передатчик |
CON | Режим AT-команд при подключении к земле (GND) |
ANT1 | Антенна |
ANT2 | Антенна |
Технические характеристики радиомодуля HC-11
Рабочее напряжение: 3.2V — 5.5V
Рабочий ток: 80μA, 3.5mA или 22mA в зависимости от выбранного режима
Рабочая частота: 433MHz
Связь: Полудуплексная (Half-duplex)
Расстояние передатчика: до 200м (в открытом поле)
Выходная мощность: до 10dBm
Скорость Передатчик: до 115200Bps
Протокол передачи данных: UART/TTL
Рабочая температура: -40℃ до +85℃
Чувствительность: -110dBm
Размер: 13.5 х 28.2 мм
Читайте также: