wifi shield not present!!


hey guys!

i in trouble connecting wifi shield(cc3000, doesn't have usb port, is, can used connecting arduino) arduino r3. (you can see pictures of them.)

after connected arduino perfectly, tried few source codes such driver patch 1_11 , buildtest adafruit cc 3000 library.

but said 'initializing cc3000.....'  both 'buildtest' , 'driver patch'. , nothing happened.
i included 'buildtest' fyi.

any thoughts?

thank in advance!

p.s. tried install firmware wifi shield, couldn't said 'wifi shield not present'. moreover, cc3000 doesn't have usb port well. second problem....


here's 'buildtest' source code.

code: [select]
#include <adafruit_cc3000.h>
#include <ccspi.h>
#include <spi.h>
#include <string.h>
#include "utility/debug.h"

// these interrupt , control pins
#define adafruit_cc3000_irq   3  // must interrupt pin!
// these can 2 pins
#define adafruit_cc3000_vbat  5
#define adafruit_cc3000_cs    10
// use hardware spi remaining pins
// on uno, sck = 13, miso = 12, , mosi = 11
adafruit_cc3000 cc3000 = adafruit_cc3000(adafruit_cc3000_cs, adafruit_cc3000_irq, adafruit_cc3000_vbat,
                                         spi_clock_divider); // can change clock speed di

#define wlan_ssid       "mynetwork"        // cannot longer 32 characters!
#define wlan_pass       "mypassword"
// security can wlan_sec_unsec, wlan_sec_wep, wlan_sec_wpa or wlan_sec_wpa2
#define wlan_security   wlan_sec_wpa2

void setup(void)
{
  serial.begin(115200);
  serial.println(f("hello, cc3000!\n"));

  displaydrivermode();
  serial.print("free ram: "); serial.println(getfreeram(), dec);
 
  /* initialise module */
  serial.println(f("\ninitialising cc3000 ..."));
  if (!cc3000.begin())
  {
    serial.println(f("unable initialise cc3000! check wiring?"));
    while(1);
  }

  /* optional: update mac address known value */
/*
  uint8_t macaddress[6] = { 0x08, 0x00, 0x28, 0x01, 0x79, 0xb7 };
   if (!cc3000.setmacaddress(macaddress))
   {
     serial.println(f("failed trying update mac address"));
     while(1);
   }
*/
 
  uint16_t firmware = checkfirmwareversion();
  if (firmware < 0x113) {
    serial.println(f("wrong firmware version!"));
    for(;;);
  }
 
  displaymacaddress();
 
  /* optional: ssid list (not available in 'tiny' mode) */
#ifndef cc3000_tiny_driver
  listssidresults();
#endif
 
  /* delete old connection data on module */
  serial.println(f("\ndeleting old connection profiles"));
  if (!cc3000.deleteprofiles()) {
    serial.println(f("failed!"));
    while(1);
  }
  /* attempt connect access point */
  char *ssid = wlan_ssid;             /* max 32 chars */
  serial.print(f("\nattempting connect ")); serial.println(ssid);

 
  if (!cc3000.connecttoap(wlan_ssid, wlan_pass, wlan_security)) {
    serial.println(f("failed!"));
    while(1);
  }
   
  serial.println(f("connected!"));
 
  /* wait dhcp complete */
  serial.println(f("request dhcp"));
  while (!cc3000.checkdhcp())
  {
    delay(100); // todo: insert dhcp timeout!
  } 

  /* display ip address dns, gateway, etc. */ 
  while (! displayconnectiondetails()) {
    delay(1000);
  }
 
#ifndef cc3000_tiny_driver
  /* try looking www.adafruit.com */
  uint32_t ip = 0;
  serial.print(f("www.adafruit.com -> "));
  while  (ip  ==  0)  {
    if  (!  cc3000.gethostbyname("www.adafruit.com", &ip))  {
      serial.println(f("couldn't resolve!"));
    }
    delay(500);
  } 
  cc3000.printipdotsrev(ip);
 
  /* quick ping test on adafruit.com */ 
  serial.print(f("\n\rpinging ")); cc3000.printipdotsrev(ip); serial.print("..."); 
  uint8_t replies = cc3000.ping(ip, 5);
  serial.print(replies); serial.println(f(" replies"));
  if (replies)
    serial.println(f("ping successful!"));
#endif

  serial.println(f("\n\nclosing connection"));
  cc3000.disconnect();
}

void loop(void)
{
  delay(1000);
}

void displaydrivermode(void)
{
  #ifdef cc3000_tiny_driver
    serial.println(f("cc3000 configure in 'tiny' mode"));
  #else
    serial.print(f("rx buffer : "));
    serial.print(cc3000_rx_buffer_size);
    serial.println(f(" bytes"));
    serial.print(f("tx buffer : "));
    serial.print(cc3000_tx_buffer_size);
    serial.println(f(" bytes"));
  #endif
}

uint16_t checkfirmwareversion(void)
{
  uint8_t major, minor;
  uint16_t version;
 
#ifndef cc3000_tiny_driver 
  if(!cc3000.getfirmwareversion(&major, &minor))
  {
    serial.println(f("unable retrieve firmware version!\r\n"));
    version = 0;
  }
  else
  {
    serial.print(f("firmware v. : "));
    serial.print(major); serial.print(f(".")); serial.println(minor);
    version = major; version <<= 8; version |= minor;
  }
#endif
  return version;
}

void displaymacaddress(void)
{
  uint8_t macaddress[6];
 
  if(!cc3000.getmacaddress(macaddress))
  {
    serial.println(f("unable retrieve mac address!\r\n"));
  }
  else
  {
    serial.print(f("mac address : "));
    cc3000.printhex((byte*)&macaddress, 6);
  }
}


/**************************************************************************/
/*!
    @brief  tries read ip address , other connection details
*/
/**************************************************************************/
bool displayconnectiondetails(void)
{
  uint32_t ipaddress, netmask, gateway, dhcpserv, dnsserv;
 
  if(!cc3000.getipaddress(&ipaddress, &netmask, &gateway, &dhcpserv, &dnsserv))
  {
    serial.println(f("unable retrieve ip address!\r\n"));
    return false;
  }
  else
  {
    serial.print(f("\nip addr: ")); cc3000.printipdotsrev(ipaddress);
    serial.print(f("\nnetmask: ")); cc3000.printipdotsrev(netmask);
    serial.print(f("\ngateway: ")); cc3000.printipdotsrev(gateway);
    serial.print(f("\ndhcpsrv: ")); cc3000.printipdotsrev(dhcpserv);
    serial.print(f("\ndnsserv: ")); cc3000.printipdotsrev(dnsserv);
    serial.println();
    return true;
  }
}

void listssidresults(void)
{
  uint32_t index;
  uint8_t valid, rssi, sec;
  char ssidname[33];

  if (!cc3000.startssidscan(&index)) {
    serial.println(f("ssid scan failed!"));
    return;
  }

  serial.print(f("networks found: ")); serial.println(index);
  serial.println(f("================================================"));

  while (index) {
    index--;

    valid = cc3000.getnextssid(&rssi, &sec, ssidname);
   
    serial.print(f("ssid name    : ")); serial.print(ssidname);
    serial.println();
    serial.print(f("rssi         : "));
    serial.println(rssi);
    serial.print(f("security mode: "));
    serial.println(sec);
    serial.println();
  }
  serial.println(f("================================================"));

  cc3000.stopssidscan();
}



Arduino Forum > Using Arduino > Networking, Protocols, and Devices (Moderator: fabioc84) > wifi shield not present!!


arduino

Comments