Friday, December 11, 2015

Firmware Openwrt-15.05 para roteadores TP-Link com suporte OpenVPN

A imagem padrão disponível no site do Openwrt-15.05 não tem suporte ao OpenVPN, que pode ser instalado pelo gerenciador de pacotes 'opkg', mas devido a limitada memória flash de 4MB de grande maioria dos modelos, a instalação do Openvpn falha por falta de espaço. Mas se a imagem for feita com carinho com o OpenVPN já embutido durante a compilação vai funcionar nos limitados modelos low-cost de 4MB. A quem interessar disponibilizei essas imagens com OpenVPN para modelos de 4MB, veja nos Downloads do blog, essa lista de arquivos: DOWNLOAD
openwrt-15.05-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin openwrt-15.05-ar71xx-generic-tl-mr3220-v1-squashfs-factory.bin openwrt-15.05-ar71xx-generic-tl-mr3220-v2-squashfs-factory.bin openwrt-15.05-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin openwrt-15.05-ar71xx-generic-tl-mr3420-v2-squashfs-factory.bin openwrt-15.05-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin openwrt-15.05-ar71xx-generic-tl-wr1043nd-v2-squashfs-factory.bin openwrt-15.05-ar71xx-generic-tl-wr740n-v1-squashfs-factory.bin openwrt-15.05-ar71xx-generic-tl-wr740n-v3-squashfs-factory.bin openwrt-15.05-ar71xx-generic-tl-wr740n-v4-squashfs-factory.bin

Friday, December 4, 2015

LinSSID: Graphical Wifi Scanner

sudo add-apt-repository ppa:wseverin/ppa sudo apt-get update; sudo apt-get install linssid

Thursday, December 3, 2015

sudo sem perdir senha

basta adicionar essa linha no /etc/sudoers
usuario ALL = NOPASSWD: ALL

Saturday, October 3, 2015

Testando o Syma X5C

Pequeno, rápido, estável e grava video no cartão SD, e de quebra faz todo tipo de flips.

Sunday, August 9, 2015

Mais um drone nascendo no laboratório de robótica

Iniciando  o trabalho
Transmissor de 5 canais - Turnigy 5X
Receptor de 5 canais - TGY-5RX

Controlador de voo - Openpilot CC3D Atom



frame

frame

lab

lab


Saturday, June 6, 2015

imax b6 battery charger: usb pinout and logview

O carregador imax b6 e seus clones possuem um entrada configurável para o sensor de temperatura LM35 ou para Serial / UART - TX - TTL.



Pinout IMAX B6


Pin
Number
Pin
Name
Description
1+5V+5V for LM35 Temperature sensor
2DATATTL TX for Logging or V-Out of LM35
3GNDGND


Quando configurado como Serial é preciso ligar o RX de um cabo USB-TTL no TX do IMAX6.
Depois é só abrir o logview e acompanhar o progresso de carga e descarga das baterias.


logview 2.7.6 monitorando a carga da bateria NiMH de 2000mah do Taranis
Essa bateria tem de carregar com 0.1A até chegar em 8.4V são quase 20 horas para carregar completamente.

Tuesday, May 19, 2015

Taranis Plus com telemetria bluetooth hc-06

Um dos recursos do Taranis Plus é a porta serial RS232 no compartimento da bateria.
É possível ativar um mirror da telemetria smart port na página 6 de configurações do rádio.
O baudrate é 57600. E a polaridade é invertida. 
HC-06 com regulador 7805 soldado, já que o regulador onboard suporta apenas 6V.
Bateria carregada fornece mais de 8V, dai a necessidade do 7805. 

Cabo conversor de 2mm (taranis) para 2.54mm (hc-06)
No entanto, esse setup funcionou parcialmente, pois nenhum dos apps para Android conseguiu se comunicar com o controle. Ligando um cabo usb-ttl no PC, e usando o terminal termite com hex dump, não encontrei nenhum 0x7e do protocolo FrSky. Isso indica que a serial do Taranis também deve ser invertida. Para testar esta hipótese sem modificar o hardware, é só usar uma SoftwareSerial invertida no Arduino.


Software Serial invertida nos pinos 3,2 
Arduino nano rodando SoftwareSerial invertida

A coisa começou a melhorar, o terminal encheu de 0x7e.

Termite 3.1 com hex dump
Agora é só partir para decodificar o protocolo ou deixar para um app de android fazer isso.
O mestre do barramento smart port, faz polling dos sensores enviando "0x7e" seguido do id do sensor.

----------- inicio do ciclo
7e 67 
7e 48 
7e e9 
7e 6a 
7e cb 
7e ac 
7e 0d 
7e 98 10 05 f1 01 2d 08 00 c2 
7e 98 10 01 f1 59 93 00 00 10 
7e 98 10 02 f1 58 00 00 00 a3 
7e 98 10 03 f1 06 00 00 00 f4 
7e 8e 
7e 2f 
7e d0 
7e 71 
7e f2 
7e 53 
7e 34 
7e 95 
7e 16 
7e b7 
7e 39 
7e ba 
7e 1b 
7e 00 
7e a1 
7e 22 
7e 83 
7e e4 
7e 45 
7e c6
--------------- fim do ciclo

Inversor para o TX do Taranis (JP1) conectar no RX do HC-06 (JP2)



Chegaram mais peças

O MPU-9250 integra acelerômetro, giroscópio e magnetômetro num único chip.

MPU-9250 9 DOF IMU

MPU-9250  9 DOF IMU

Propeller Adapter (Collet Type)  3.17mm
Para os motores 2212/13T 1000KV
Links para todas as cores
http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=75583&aff=1197268
http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=75584&aff=1197268
http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=75582&aff=1197268
http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=75581&aff=1197268

Transmitter Gimbal Set (Left) - Turnigy 9XR Transmitter Mode 1
Bom para montar um controle DIY. Giro de 60 º em cada eixo.
O gimbal PR10 do Taranis é melhor do que este, tem giro 80 º em cada eixo.   
 http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=39505&aff=1197268

Turnigy MX-M801 12g / 2kg / 0.10sec Micro Metal Geared Servo.
Bom para montar um gimbal DIY para câmera. 
 http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=47379&aff=1197268


Tuesday, May 12, 2015

Frsky Taranis Plus (X9D PLUS) + X8R + D8R-II Plus

Chegou meu rádio Frsky Taranis Plus, foram 3 dias pelo Fedex. Lembrando que o tempo é inversamente proporcional ao dinheiro. O motoqueiro da Fedex veio entregar na porta de casa o produto junto com uma lista imensa de todos os impostos (60% de importação e 17% de ICMS), que para variar são contabilizados em cascata, resultando em 110% do valor do produtos mais frete. Ou seja, o custo efetivo de um 1 dólar é 6 reais, em maio de 2015.

Taranis Plus - Rádio de 16 canais com telemetria e firmware opensource
Compre na hobbyking:
http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=67753&aff=1197268

Abri, liguei, funcionou! Ok, então já pode atualizar o firmware para o mais recente build do opentx.
http://www.open-tx.org/

Para atualizar é preciso conectar o controle pela porta mini-usb no PC e instalar os drivers do USB-DFU.
http://www.open-tx.org/2013/07/18/taranis-windows-usb-driver-for-manual-installation/
http://downloads.open-tx.org/tools/Taranis_WinUSB_driver.zip

Em seguida, usando o OpenTX Companion, basta clicar no botão de upload de firmware.
O meu estava com a versão 2.0.9 de fábrica, atualizei com a versão 2.0.17


Junto com o Taranis vem o receptor X8R
Receptor X8R - portas Smart, RSSI e SBUS

Também pedi um D8R que já vem com uma porta UART e 2 entradas analógicas.

Receptor D8R-II Plus - porta UART e 2 entradas analógicas,
Compre na hobbyking:
http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=14356&aff=1197268



Sunday, April 26, 2015

ESP8266 ESP-01 relay control using Web server or MQTT / IOT

Build with ESP8266 ESP-01 Arduino IDE (https://github.com/esp8266/Arduino)

# turn off relay
curl -X PUT http://eclipse.mqttbridge.com/murilo/esp/rele/off

# turn on relay
curl -X PUT http://eclipse.mqttbridge.com/murilo/esp/rele/on

# control relay from Android
https://play.google.com/store/apps/details?id=at.tripwire.mqtt.client&hl=en
publish murilo/esp/rele/on   - turn on relay
publish murilo/esp/rele/off  - turn off relay



See source code...

Saturday, April 25, 2015

ESP8266 ESP-01 esptool.py no Linux


A primeira ferramenta para o ESP-01 no Linux é o esptool.py.
No esptool dá para fazer a manutenção completa do ESP-01

root@murix-System-Product-Name:~/Downloads# wget https://raw.githubusercontent.com/themadinventor/esptool/master/esptool.py
--2015-04-25 17:33:39--  https://raw.githubusercontent.com/themadinventor/esptool/master/esptool.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 199.27.75.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|199.27.75.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23964 (23K) [text/plain]
Saving to: ‘esptool.py’

100%[===============================================================================================================================>] 23.964      --.-K/s   in 0,006s 

2015-04-25 17:33:40 (3,88 MB/s) - ‘esptool.py’ saved [23964/23964]

root@murix-System-Product-Name:~/Downloads# chmod +x esptool.py



root@murix-System-Product-Name:~/Downloads# ./esptool.py --port /dev/ttyUSB0 read_mac
Connecting...
MAC: 18:fe:34:9f:13:f3
root@murix-System-Product-Name:~/Downloads#


https://github.com/nodemcu/nodemcu-firmware/releases/tag/0.9.6-dev_20150406

root@murix-System-Product-Name:~/Downloads# ./esptool.py --port /dev/ttyUSB0 write_flash 0x0 nodemcu_integer_0.9.6-dev_20150406.bin
Connecting...
Erasing flash...
Writing at 0x00066400... (100 %)

Leaving...
root@murix-System-Product-Name:~/Downloads#

Monday, April 20, 2015

Tiva C + Stellaris: pinout

As placas Tiva C e Stellaris possuem alguns "problemas".
O primeiro são os resistores R9 e R10 que precisam ser removidos para não dar curto entre os GPIOs.
O segundo é o pinmux da USART1 e USART4 que iniciam em conflito, então é preciso remapear a USART1 para o conector J1, para que a USART4 funcione no conector J4.
O terceiro é o U4 presente somente nas Stellaris (na Tiva C já vem de fabrica sem ele), que precisa ser removido para permitir a placa ligar tensões abaixo de 5V (ex: bateria).
Resolvidos esses "problemas" é só partir para desenvolvimento.
Estão disponíveis:
8x UART - Serial
4x I2C - Wire
3x SPI
12x ADC - analogRead
44x GPIO - digitalRead/Write
23x PWM - analogWrite
Tiva C + Stellaris: pinout

Sunday, April 19, 2015

pipe view - usando dd com barra de progresso

Para ver o progresso de ferramentas como `dd`, apresento o `pv`.
O pv (pipe view) mostra a quantidade e velocidade dos bytes que passam em um pipe.

Muito simples de usar, basta passar o pv entre os pipes dos comandos.

Exemplo com dd:
root@murix:~/Downloads# dd if=archlinux-2015.04.01-dual.iso | pv | dd of=/dev/sdd bs=4M

 37MB 0:00:08 [17.1MB/s] [         <=>                                                ]


Saturday, April 18, 2015

ESP8266 ESP-01 review

O módulo ESP-01 v090 utiliza o SoC ESP8266 para prover um roteador e estação WiFi do tamanho de uma porta USB e custa menos de 3 dólares.

ESP-01 conectado no PC pelo Prolific PL2303

SDK oficial
http://espressif.com/new-sdk-release/

Segundo o datasheet do ESP8266
https://nurdspace.nl/images/e/e0/ESP8266_Specifications_English.pdf
O máximo permitido em qualquer pino é 3.6V
Portanto para ligar em I/O de 5V (ex: Arduino) precisa usar um shift level de 5v para 3.3v.
Pelo que vi alguns makers ligam direto no i/o 5v sem shift level, e funciona, mas a risco de queimar o esp8266. Testei ligando no PL2303 com i/o de 3.3v e com i/o de 5v e funcinou, para minimizar a change de queimar resolvi continuar usando o 3.3v que está dentro das especificações.

Pinout do ESP-01
Existem 2 modos de operações: o normal e o gravação de firmware.
Quem determinar o modo de operação é o GPIO0 durante o boot.
Se GPIO0 estiver em Low durante o boot, vai em entrar em modo de gravação.
Se GPIO0 estiver em High durante o boot, vai em entrar em modo normal.
Depois do boot dá para usar o GPIO0 como uma saída digital, mas eu não gosto de usar esse pinos de gravação para outras finalidades pois em alguns casos ocorrem problemas.

O pino CH_PD (chip select) deve se ligado ao VCC senão o ESP8266 fica travado antes do boot.
ESP-01 com pullup de 2.2k no CH_PD.

Também é preciso garantir a corrente necessária para o funcionamento do ESP8266, que no pico de transmissão pode chegar até 300mA
ModeMinTypicalMaxUnits
802.11b, CCK 1Mbps, POUT=+19.5dBm215mA
802.11b, CCK 11Mbps, POUT=+18.5dBm197mA
802.11g, OFDM 54Mbps, POUT=+16dBm145mA
802.11n, MCS7, POUT =+14dBm135mA
802.11b, packet size of 1024 bytes, -80dBm60mA
802.11b, packet size of 1024 bytes, -70dBm60mA
802.11b, packet size of 1024 bytes, -65dBm62mA
Standby0.9uA
Deep sleep10mA
Saving mode DTIM 11.2mA
Saving mode DTIM 30.86mA
Shutdown0.5uA

É possível ligar o RTS do PL2303 no RST do ESP-01 e o DTR do PL2303 no GPIO0 do ESP-01, assim dá para controlar o modo de operação dinamicamente pela serial sem ficar mexendo nos fios.
https://github.com/themadinventor/esptool/blob/master/esptool.py
# RTS = CH_PD (i.e reset)
# DTR = GPIO0

Firmware com Comandos AT
http://www.electrodragon.com/w/ESP8266_Firmware

Código para Arduino/Energia
http://www.electrodragon.com/w/ESP8266_with_Arduino

Firmware com script Lua:
https://github.com/nodemcu/nodemcu-firmware

Ferramenta de gravação de firmware:
https://github.com/nodemcu/nodemcu-flasher
Existe uma opção de gravar o firmware que vem embutido nessa ferramenta, que no caso é umas das últimas versões do nodemcu com suporte a Lua.

nodemcu firmware programmer
Firmware com AT versão 0.952
AT version:0.21.0.0
SDK version:0.9.5
https://drive.google.com/folderview?id=0B_ctPy0pJuW6fnVLeGYzWmhzeGtZa1hwTF9zakJUOEdNejVhcFZXYi02Zk5GLXp6ckRNZkE&amp;usp=drive_web&amp;tid=0B3dUKfqzZnlwRjFaNTUzZFptbzg#list

nodemcu firmware programmer configurar para gravar o firmware AT 0.952

Log do firmware que veio pré instalado no ESP-01:
não tem como sabe qual a versão do AT e nem do SDK que compilou, já que o AT+GMR não retorna nada muito útil.

OK
AT+RST


OK
7!aSÊS:6à;Ì;!ÕýAÆ [ýÊêþ
[Vendor:www.ai-thinker.com Version:0.9.2.4]

ready
AT+GMR

0018000902-AI03

OK

Log do firmware AT versão 0.952:


AT+RST


OK

 ets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 816, room 16 
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8 
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12 
tail 4
chksum 0xcf
csum 0xcf

2nd boot version : 1.2
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 4Mbit
jump to run user1

rlŽ‚ÿ
Ai-Thinker Technology Co. Ltd.

ready
AT+GMR

AT version:0.21.0.0
SDK version:0.9.5

OK

O firmware acima foi compilado com o SDK 0.9.5 com parser AT 0.21 cabe em 512kb de flash
ESP8266 SDK (esp_iot_sdk_v0.9.5_15_01_23) released
com o SDK 1.0.0 entrou o parser AT 0.22 cabe em 512kb de flash
ESP8266 SDK (esp_iot_sdk_v1.0.0_15_03_20) released
como o SDK &gt;= 1.0.1 os novos comandos AT precisam de pelo menos 1024kb de flash.



Ferramenta de exploração com suporte a Nodemcu/Lua e comandos AT
http://esp8266.ru/esplorer/

Esplorer tool



API do Arduino para ESP8266
https://github.com/esp8266/arduino

Arduino IDE com suporte a ESP8266


Onde comprar:
http://lista.mercadolivre.com.br/esp8266
http://www.banggood.com/buy/Esp8266.html
http://www.aliexpress.com/wholesale?SearchText=esp8266
http://www.dx.com/s/esp8266
http://www.seeedstudio.com/depot/s/esp8266.html

Received: 20 Pairs 3.5mm Copper Bullet Banana Plug Connectors Male + Female for RC Motor ESC Battery


 3.5mm Copper Bullet Banana Plug Connectors

Sunday, March 29, 2015

ArduPilot Mega (APM) Power module (PM) 1.0 review

Antes de ligar qualquer hardware é bom verificar se componentes são os que deveriam ser.
E também verificar as tensões de entrada e saída, se estão dentro do esperado.

Especificação do APM PM 1.0
Max input voltage: 18V
Min input voltage: 4.5 V
Max current sensing: 90A with APM, 60A with Pixhawk
Voltage and current measurement configured for 5V ADC
Switching regulator outputs 5.3V and 2.25A max
6-pos DF13 cable plugs directly to APM 2.5's 'PM' connector

Face superior do APM PM
Face inferior do APM PM
Soldei os headers de 2.54mm para facilitar os testes. 

O regulador usado neste versão da placa, é o MP1583DN
- 3A Output Current
- Programmable Soft-Start
- 100mΩ Internal Power MOSFET Switch
- Stable with Low ESR Output Ceramic Capacitors
- Up to 95% Efficiency
- 20μA Shutdown Mode
- Fixed 385KHz Frequency
- Thermal Shutdown
- Cycle-by-Cycle Over Current Protection
- Wide 4.75V to 23V Operating Input Range
- Output Adjustable from 1.22V to 21V
- Under-Voltage Lockout

O APM power module usa um Regulador chaveado MP1583DN
Monolithic Power Systems (MPS) - 3A 385kHz 23V Buck
No multímetro a saída do MP1583DN ficou em 5,3V como indicado no projeto. 
Essa saída não serve para alimentar os Servos porque é chaveada, o recomendo para os servos é usar os BEC lineares (7805 e similares) dos ESCs.

A medição do tensão é feita por um divisor resistivo de 1,5k 0.1% e 13,7k 0.1%.
Medindo com o multímetro os valores foram próximos: R1=1,49k e R2=13,69k.
http://www.raltron.com/cust/tools/voltage_divider.asp
Para entrada de 18V a saída ficou em 1,77V
Para entrada de 12V a saída ficou em 1,18V
Com esses valores dá para ligar direto no ADC da beaglebone black, que aceita até 1,8V

No arduino com ADC de 10bits, o analogRead na média móvel de 100 valores deu 250 para 11,50V
A referência analógica 4,62V deu no multímetro.
Então 4,62 / 1024 = 0,00451171875V.
Vo=1,1279296875
Vin = Vo * (R1+R2) / R2 = 11,491256816275167785234899328859


A medição de corrente é feita usando o INA169 com resistor shunt RS=0.0005ohm 1% 4W e resistor de saída de RL=110k 0.1%.
No multímetro o resistor de saída RL deu 108.3k. RS=0,2ohm (por falta de resolução).
Segundo o datasheet com Is = Vo * 1000 / (RL*RS)
Na fonte o consumo de 0.8A gerou 0,044V no Vo,
Então Is=(0.044*1000)/(0.0005*110000)=44/55=0.8A
Para Is=60A => 60*55/1000 = 3.3V
Para Is=90A => 90*55/1000 = 4,95V


Friday, March 27, 2015

Chegaram mais peças do drone

Foram 2 pacotes:
- 4 ESCs amarelos da Hobbypower, 2 motores XDD (53 dias);
- APM Power module 1.0 (45 dias)

ESC Hobbypower genérico dá para instalar o firmware do simonk. 

ESCs Hobbypower 30A
 Os motores agora estão vindo com os conectores banana, mas perderam as etiquetas

Motores a2212/13t com plugues banana de 3,5 mm 

ArduPilot Mega (APM) Power module (PM), Dá para medir a tensão e a corrente da bateria, já vem com um fonte chaveada de 5V / 3A. Agora a telemetria da bateria ficou completa.

APM Power module 1.0

Saturday, March 7, 2015

Samsung hd154ui failure

My HDD is dead
dead Samsung HD154UI after 17 months
Really bad, Samsung nevermore.
"Hard Disk Sentinel (HDSentinel) is a multi-OS SSD and HDD monitoring and analysis software." http://www.hdsentinel.com/

Saturday, January 24, 2015

Alternative way of charging a nano drone (CX10) battery

The battery charger mini drone CX10 is so simple that could compromise the battery capacity of about 10 refills. The cause of this problem is the excess current provided by the USB port (about 500mA). The CX10 battery is 100mAh, so when injecting 500mA to load is the equivalent of a 5C rate. To ensure at least the 2000 refills of a standard Lipo battery should be charged at a 1C rate or less. In this case the maximum current that can be injected is 100mA. Using a imax b6 charger configured with a 0.1A rate I managed to inject 117mAh. The battery that was labeled with 100mAh.