Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:a-n-solutions-module:contiki-snmp

Dies ist eine alte Version des Dokuments!


Anpassung des Contiki SNMP zur Verwendung auf den Modulen von Adaptive Network Solutions

Contiki SNMP (siehe SNMP auf Contiki 2.5 und Contiki 2.6) wurde so angepasst dass nun folgende Features auf den Modulen zur Verfügung stehen:

  • Betriebszustandsanzeige über LED DS3
  • Paketempfangssignalisierung über LED DS2
  • Port Pin Steuerung über SNMPv3 über LED DS1
  • Messung der Versorgungsspannung über ADC0 bei Anschluss eines 1:1 Spannungsteilers über die Versorgungsspannung

→ Pinbelegung und Schaltplan der Module siehe: brick_mcu_pinassignments_ref2.pdf

Betriebszustandsanzeige über LED DS3

Zur Signalisierung der Betriebszustandsanzeige wurde innerhalb des Contiki SNMP Prozesses (snmpd.c) zuerst alle LEDs als Ausgänge geschaltet, anschließend LED DS3 (PIN7) auf LOW geschaltet und somit aktiviert.

	/*Switch LED on @ANY Brick On if SNMPD started and set other LEDs as Output*/
	DDRB |= (1 << PIN5);
	DDRB |= (1 << PIN6);
	DDRB |= (1 << PIN7);
	PORTB &= ~(1 << PIN7);
	PORTB |= (1 << PIN6);
	PORTB |= (1 << PIN5);
	/*END LED @ANY Brick*/

Paketempfangssignalisierung über LED DS2

Um das Eintreffen eines Pakets über uIPv6 visualisieren zu können, wurde die LED DS2 innerhalb der Funktion tcpip_input(void) innerhalb der Datei tcpip.c im Verzeichnis /core/net/ angepasst.

/*---------------------------------------------------------------------------*/
void
tcpip_input(void)
{
  /*sz*/
  /*Blinking LED on packet receiving*/
  PORTB &= ~(1 << PIN6);
  /*sz*/
 
  process_post_synch(&tcpip_process, PACKET_INPUT, NULL);
  uip_len = 0;
#if UIP_CONF_IPV6
  uip_ext_len = 0;
#endif /*UIP_CONF_IPV6*/
 
  /*sz*/
  /*Blinking LED on packet receiving*/
  PORTB |= (1 << PIN6);
  /*sz*/
}
/*---------------------------------------------------------------------------*/

Port Pin Steuerung über SNMPv3 über LED DS1

Zur Steuerung von LED DS2 wurden die GET und SET Funktionen innerhalb der Datei mib-init-beuth-zig.c des SNMP Daemons angepasst.

/* LED DS1 for @ANY module start */
/** \brief LED DS1 for @ANY module get function*/
s8t getBeuthState(mib_object_t* object, u8t* oid, u8t len)
{
    object->varbind.value.i_value = !((PORTB >> PIN5) & 1);
    return 0;
}
 
 
/** \brief set LED DS1 for @ANY module*/
s8t setBeuthState(mib_object_t* object, u8t* oid, u8t len, varbind_value_t value)
{
    if (value.i_value == 1) {
        PORTB &= ~(1 << PIN5);
    } else {
        PORTB |= (1 << PIN5);
    }
 
	return 0;
}
/* LED DS1 for @ANY module end */

Messung der Versorgungsspannung über ADC0 bei Anschluss eines 1:1 Spannungsteilers über die Versorgungsspannung

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
contiki/a-n-solutions-module/contiki-snmp.1349691814.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)