pondělí 15. prosince 2014

WiFi modulek za 90 Kč

Náhodou jsem na eBay narazil na malý ale šikovný WiFi modulek Wi07c. Dokáže pracovat v režimech AP, jako klient a nebo obojí najednou. Po rozbalení stačilo připojit napájení, Rx a Tx a vývod CH_PD na +3,3 V.



neděle 14. prosince 2014

neděle 7. prosince 2014

OpenWRT a akcelerometr + kompas + gyro

Po zprovoznění I2C sběrnice si k ní můžeme připojit například obvody LSM303DLHC (akcelerometr + kompas) a nebo gyroskop L3GD20, vše skvěle zabaleno na STM32F3 Discovery Boardu. Na Discovery Boardu je nutné vymazat paměť MCU aby nám do komunikace "nekecal" a propojit následující vývody: PB6 na PA5, PB7 na PA7 a v neposlední řade zapojit PA6, tedy pin SA0 gyra, na logickou jedničku (výběr I2C módu).

středa 3. prosince 2014

OpenWRT a teploměr

I na posledním routeru jsem přešel na poslední verzi OpenWRT, tedy na 14.07 branch (Barrier Breaker).

Vše proběhlo bez problémů až na teploměr, ten je připojen prostřednictvím převodníku USB-RS232 s řadičem od FTDI. Digitemp používá 6-ti bitovou komunikaci, patne pro emulaci 1-wire prostřednictvím sériové linky. Bylo tedy nutné maličko upravit ovladač, jinak se v logu zobrazují následující hlášky a teploměr vůbec nefunguje:
ftdi_sio ttyUSB0: requested CSIZE setting not supported

Stačí provést úpravy v souboru /build_dir/target-mipsel_mips32_uClibc-0.9.33.2/linux-brcm47xx_generic/linux-3.10.49/drivers/usb/serial/ftdi_sio.c

Jedná se o sprosté zakomentování příslušné kontroly:

Řádek 2194:
 /*if (C_CSIZE(tty) == CS6) {
  dev_warn(ddev, "requested CSIZE setting not supported\n");

  termios->c_cflag &= ~CSIZE;
  if (old_termios)
   termios->c_cflag |= old_termios->c_cflag & CSIZE;
  else
   termios->c_cflag |= CS8;
 }*/

 cflag = termios->c_cflag;

 if (!old_termios)
  goto no_skip;

A doplnění volby do switche od řádku 2240

switch (cflag & CSIZE) {
 case CS5:
  dev_dbg(ddev, "Setting CS5 quirk\n");
  break;
 case CS6:
  dev_dbg(ddev, "Setting CS6\n");
  break;
 case CS7:
  urb_value |= 7;
  dev_dbg(ddev, "Setting CS7\n");
  break;

Další možností je použití patche:
http://patchwork.ozlabs.org/patch/306740/

Pro Asus 500gP je možné rovnou stahovat balíček z ulož.to.