Wifi Weather Station Hardware complete? Software, fail!

(See attached photo for current hardware config) This is so frustrating, I will pay someone $50 paypal to help me finish this software and server portion…

Above is the tutorial link in which my configuration looks more like. There are several parts that are way beyond me (once we get to the software portion that connects to the hardware), especially when I cannot figure out how to overcome an error I made…

The link below is partial directions I’ve been following.
http://www.openhomeautomation.net/arduino-wifi-cc3000/

It looks like there are many configurations that allow you to proceed with the WiFi Weather Station Build. I unfortunately have no green thumb when it comes to electronics. This is so new to me…

I purchased everything needed for the Wifi Weather station. I did some custom soldering work on the temp and humidity sensor because it didn’t come pinned, just wired with one less pin. This portion seems complete to me. I believe the connections are right. I did the blink test and it worked.

I managed to upload the four different needed libraries but haven’t successfully got past this point with multiple errors.

Since these libraries are uploaded, whats next? I started with the main Adafruit_CC3000. I made the attempt to remain the wifi login and passcode but it failed. What shall I do next: This was the message:

#include <Adafruit_CC3000.h>
#include <Adafruit_CC3000_Server.h>
#include <ccspi.h>

/*************************************************** 
 This is an example for the Adafruit CC3000 Wifi Breakout & Shield

 Designed specifically to work with the Adafruit WiFi products:
 ----> https://www.adafruit.com/products/1469

 Adafruit invests time and resources providing this open source code, 
 please support Adafruit and open-source hardware by purchasing 
 products from Adafruit!

 Written by Limor Fried & Kevin Townsend for Adafruit Industries.  
 BSD license, all text above must be included in any redistribution
****************************************************/

/*
This example does a test of the TCP client capability:
 * Initialization
 * Optional: SSID scan
 * AP connection
 * DHCP printout
 * DNS lookup
 * Optional: Ping
 * Connect to website and print out webpage contents
 * Disconnect
SmartConfig is still beta and kind of works but is not fully vetted!
It might not work on all networks!
*/
#include <Adafruit_CC3000.h>
#include <ccspi.h>
#include <SPI.h>
#include <string.h>
#include "utility/debug.h"

// These are the interrupt and control pins
#define ADAFRUIT_CC3000_IRQ   3  // MUST be an interrupt pin!
// These can be any two pins
#define ADAFRUIT_CC3000_VBAT  5
#define ADAFRUIT_CC3000_CS    10
// Use hardware SPI for the remaining pins
// On an UNO, SCK = 13, MISO = 12, and MOSI = 11
Adafruit_CC3000 cc3000 = Adafruit_CC3000(ADAFRUIT_CC3000_CS, ADAFRUIT_CC3000_IRQ, ADAFRUIT_CC3000_VBAT,
                                        SPI_CLOCK_DIVIDER); // you can change this clock speed

#define WLAN_SSID       "MY NETWORJ NAME IS CORRECT"           // cannot be longer than 32 characters!
#define WLAN_PASS       "MY PASSWORD IS CORRECT"
// Security can be WLAN_SEC_UNSEC, WLAN_SEC_WEP, WLAN_SEC_WPA or WLAN_SEC_WPA2
#define WLAN_SECURITY   WLAN_SEC_WPA2

#define IDLE_TIMEOUT_MS  3000      // Amount of time to wait (in milliseconds) with no data 
                                  // received before closing the connection.  If you know the server
                                  // you're accessing is quick to respond, you can reduce this value.

// What page to grab!
#define WEBSITE      "www.adafruit.com"
#define WEBPAGE      "/testwifi/index.html"


/**************************************************************************/
/*!
   @brief  Sets up the HW and the CC3000 module (called automatically
           on startup)
*/
/**************************************************************************/

uint32_t ip;

void setup(void)
{
 Serial.begin(115200);
 Serial.println(F("Hello, CC3000!\n")); 

 Serial.print("Free RAM: "); Serial.println(getFreeRam(), DEC);
 
 /* Initialise the module */
 Serial.println(F("\nInitializing..."));
 if (!cc3000.begin())
 {
   Serial.println(F("Couldn't begin()! Check your wiring?"));
   while(1);
 }
 
 // Optional SSID scan
 // listSSIDResults();
 
 Serial.print(F("\nAttempting to connect to ")); Serial.println(WLAN_SSID);
 if (!cc3000.connectToAP(WLAN_SSID, WLAN_PASS, WLAN_SECURITY)) {
   Serial.println(F("Failed!"));
   while(1);
 }
  
 Serial.println(F("Connected!"));
 
 /* Wait for DHCP to complete */
 Serial.println(F("Request DHCP"));
 while (!cc3000.checkDHCP())
 {
   delay(100); // ToDo: Insert a DHCP timeout!
 }  

 /* Display the IP address DNS, Gateway, etc. */  
 while (! displayConnectionDetails()) {
   delay(1000);
 }

 ip = 0;
 // Try looking up the website's IP address
 Serial.print(WEBSITE); Serial.print(F(" -> "));
 while (ip == 0) {
   if (! cc3000.getHostByName(WEBSITE, &ip)) {
     Serial.println(F("Couldn't resolve!"));
   }
   delay(500);
 }

 cc3000.printIPdotsRev(ip);
 
 // Optional: Do a ping test on the website
 /*
 Serial.print(F("\n\rPinging ")); cc3000.printIPdotsRev(ip); Serial.print("...");  
 replies = cc3000.ping(ip, 5);
 Serial.print(replies); Serial.println(F(" replies"));
 */  

 /* Try connecting to the website.
    Note: HTTP/1.1 protocol is used to keep the server from closing the connection before all data is read.
 */
 Adafruit_CC3000_Client www = cc3000.connectTCP(ip, 80);
 if (www.connected()) {
   www.fastrprint(F("GET "));
   www.fastrprint(WEBPAGE);
   www.fastrprint(F(" HTTP/1.1\r\n"));
   www.fastrprint(F("Host: ")); www.fastrprint(WEBSITE); www.fastrprint(F("\r\n"));
   www.fastrprint(F("\r\n"));
   www.println();
 } else {
   Serial.println(F("Connection failed"));    
   return;
 }

 Serial.println(F("-------------------------------------"));
 
 /* Read data until either the connection is closed, or the idle timeout is reached. */ 
 unsigned long lastRead = millis();
 while (www.connected() && (millis() - lastRead < IDLE_TIMEOUT_MS)) {
   while (www.available()) {
     char c = www.read();
     Serial.print(c);
     lastRead = millis();
   }
 }
 www.close();
 Serial.println(F("-------------------------------------"));
 
 /* You need to make sure to clean up after yourself or the CC3000 can freak out */
 /* the next time your try to connect ... */
 Serial.println(F("\n\nDisconnecting"));
 cc3000.disconnect();
 
}

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

/**************************************************************************/
/*!
   @brief  Begins an SSID scan and prints out all the visible networks
*/
/**************************************************************************/

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();
}

/**************************************************************************/
/*!
   @brief  Tries to read the IP address and 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 to retrieve the 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;
 }
}

Moderator edit: CODE TAGS!

Rarig:
(See attached photo for current hardware config) This is so frustrating, I will pay someone $50 paypal to help me finish this software and server portion…

Introduction | WiFi Weather Station | Adafruit Learning System

Above is the tutorial link in which my configuration looks more like. There are several parts that are way beyond me (once we get to the software portion that connects to the hardware), especially when I cannot figure out how to overcome an error I made…

The link below is partial directions I’ve been following.
http://www.openhomeautomation.net/arduino-wifi-cc3000/

It looks like there are many configurations that allow you to proceed with the WiFi Weather Station Build. I unfortunately have no green thumb when it comes to electronics. This is so new to me…

I purchased everything needed for the Wifi Weather station. I did some custom soldering work on the temp and humidity sensor because it didn’t come pinned, just wired with one less pin. This portion seems complete to me. I believe the connections are right. I did the blink test and it worked.

I managed to upload the four different needed libraries but haven’t successfully got past this point with multiple errors.

Since these libraries are uploaded, whats next? I started with the main Adafruit_CC3000. I made the attempt to remain the wifi login and passcode but it failed. What shall I do next: This was the message:

#include <Adafruit_CC3000.h>

#include <Adafruit_CC3000_Server.h>
#include <ccspi.h>

/***************************************************
This is an example for the Adafruit CC3000 Wifi Breakout & Shield

Designed specifically to work with the Adafruit WiFi products:
----> https://www.adafruit.com/products/1469

Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!

Written by Limor Fried & Kevin Townsend for Adafruit Industries. 
BSD license, all text above must be included in any redistribution
****************************************************/

/*
This example does a test of the TCP client capability:

  • Initialization
  • Optional: SSID scan
  • AP connection
  • DHCP printout
  • DNS lookup
  • Optional: Ping
  • Connect to website and print out webpage contents
  • Disconnect
    SmartConfig is still beta and kind of works but is not fully vetted!
    It might not work on all networks!
    */
    #include <Adafruit_CC3000.h>
    #include <ccspi.h>
    #include <SPI.h>
    #include <string.h>
    #include “utility/debug.h”

// These are the interrupt and control pins
#define ADAFRUIT_CC3000_IRQ  3  // MUST be an interrupt pin!
// These can be any two pins
#define ADAFRUIT_CC3000_VBAT  5
#define ADAFRUIT_CC3000_CS    10
// Use hardware SPI for the remaining pins
// On an UNO, SCK = 13, MISO = 12, and MOSI = 11
Adafruit_CC3000 cc3000 = Adafruit_CC3000(ADAFRUIT_CC3000_CS, ADAFRUIT_CC3000_IRQ, ADAFRUIT_CC3000_VBAT,
                                        SPI_CLOCK_DIVIDER); // you can change this clock speed

#define WLAN_SSID      “MY NETWORJ NAME IS CORRECT”          // cannot be longer than 32 characters!
#define WLAN_PASS      “MY PASSWORD IS CORRECT”
// Security can be WLAN_SEC_UNSEC, WLAN_SEC_WEP, WLAN_SEC_WPA or WLAN_SEC_WPA2
#define WLAN_SECURITY  WLAN_SEC_WPA2

#define IDLE_TIMEOUT_MS  3000      // Amount of time to wait (in milliseconds) with no data
                                  // received before closing the connection.  If you know the server
                                  // you’re accessing is quick to respond, you can reduce this value.

// What page to grab!
#define WEBSITE      “www.adafruit.com
#define WEBPAGE      “/testwifi/index.html”

//
/*!
  @brief  Sets up the HW and the CC3000 module (called automatically
          on startup)
*/
/
/

uint32_t ip;

void setup(void)
{
Serial.begin(115200);
Serial.println(F(“Hello, CC3000!\n”));

Serial.print("Free RAM: "); Serial.println(getFreeRam(), DEC);

/* Initialise the module */
Serial.println(F("\nInitializing…"));
if (!cc3000.begin())
{
  Serial.println(F(“Couldn’t begin()! Check your wiring?”));
  while(1);
}

// Optional SSID scan
// listSSIDResults();

Serial.print(F("\nAttempting to connect to ")); Serial.println(WLAN_SSID);
if (!cc3000.connectToAP(WLAN_SSID, WLAN_PASS, WLAN_SECURITY)) {
  Serial.println(F(“Failed!”));
  while(1);
}
 
Serial.println(F(“Connected!”));

/* Wait for DHCP to complete */
Serial.println(F(“Request DHCP”));
while (!cc3000.checkDHCP())
{
  delay(100); // ToDo: Insert a DHCP timeout!
}

/* Display the IP address DNS, Gateway, etc. */ 
while (! displayConnectionDetails()) {
  delay(1000);
}

ip = 0;
// Try looking up the website’s IP address
Serial.print(WEBSITE); Serial.print(F(" → "));
while (ip == 0) {
  if (! cc3000.getHostByName(WEBSITE, &ip)) {
    Serial.println(F(“Couldn’t resolve!”));
  }
  delay(500);
}

cc3000.printIPdotsRev(ip);

// Optional: Do a ping test on the website
/*
Serial.print(F("\n\rPinging “)); cc3000.printIPdotsRev(ip); Serial.print(”…"); 
replies = cc3000.ping(ip, 5);
Serial.print(replies); Serial.println(F(" replies"));
*/

/* Try connecting to the website.
    Note: HTTP/1.1 protocol is used to keep the server from closing the connection before all data is read.
*/
Adafruit_CC3000_Client www = cc3000.connectTCP(ip, 80);
if (www.connected()) {
  www.fastrprint(F(“GET “));
  www.fastrprint(WEBPAGE);
  www.fastrprint(F(” HTTP/1.1\r\n”));
  www.fastrprint(F(“Host: “)); www.fastrprint(WEBSITE); www.fastrprint(F(”\r\n”));
  www.fastrprint(F("\r\n"));
  www.println();
} else {
  Serial.println(F(“Connection failed”));   
  return;
}

Serial.println(F("-------------------------------------"));

/* Read data until either the connection is closed, or the idle timeout is reached. */
unsigned long lastRead = millis();
while (www.connected() && (millis() - lastRead < IDLE_TIMEOUT_MS)) {
  while (www.available()) {
    char c = www.read();
    Serial.print(c);
    lastRead = millis();
  }
}
www.close();
Serial.println(F("-------------------------------------"));

/* You need to make sure to clean up after yourself or the CC3000 can freak out /
/
the next time your try to connect … */
Serial.println(F("\n\nDisconnecting"));
cc3000.disconnect();

}

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

//
/*!
  @brief  Begins an SSID scan and prints out all the visible networks
*/
/
/

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();
}

//
/*!
  @brief  Tries to read the IP address and 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 to retrieve the 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;
}
}





Moderator edit: CODE TAGS!

Hi,

I dont understand what the problem is.

Can you connect to your router with the wifi module? (check your router dhcp client list to see if the module shows up)

If the wifi module is connected to the router, you need to make sure that port 80 is open OR

If the wifi module is connected to the router, find the ip adres of the wifi module and start your webbrowser on your pc and use the ip adres of the wifi module. (probably something like: 192.168.1.100)