2016-04-01 11 views
1

Son birkaç gün boyunca, baz istasyon aracılığıyla tek tek düğümlere erişmek için uğraşıyorum ama şansım tükendi. Bir baz istasyonu (tek yönlü-receiver.c) ve bir algılama devresi (tek yönlü-sender.c) İlk olarak,Z1 motifleri - Bir baz istasyonu ve algılama düğümü arasındaki iletişim

aşağıdaki çalıştı, tek yönlü gönderen bir RPL DAG oluşturmak ve tek noktaya yayın alıcısı onu izlemek için çalıştı

simple_udp_sendto(&unicast_connection, msg.value, 1, address) 

sonra

address= servreg_hack_lookup(SERVICE_ID_1) 

ve kullanma ama bana tamamen farklı bir adres yerine algılama düğümün adresini verdi, dolayısıyla bu işe yaramadı. Her neyse, RPL dag'ını çıkarmaya çalıştım ama sonra, kodlama node'unun adresini sabit kodun bir yolunu bulamadım. En azından algılama düğüm ve kullanım simple_udp_sendto adresini hardcode Eğer

(& unicast_connection, msg.value, 1, adres) işlevi daha sonra bu işe yarayabilir algılama düğümle iletişim fakat nasıl yapılacağını?

(EDIT) Uzak bir z1 mote'a bir bayt bile gönderemedim, ve bunun yalnızca adres elde etmek için yardımcı olacağını düşünmüyorum, çünkü algılayıcı düğüm bir şey beklemeli gönderirdi. Ama sonra bu durumda ona nasıl gönderirim?

cevap

1

sorunu çözmek için gerekli olan tek şey

uip_ipaddr_t addr; 
uip_ip6addr(&addr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); // or whatever is the values for your node 

kullanarak düğümün adresini almak ve sonra veri göndermek için basit udp gönderme fonksiyonlarının herhangi kullanmaktır.

simple_udp_sendto_custom(&unicast_connection, msg.value, 1, &addr); // this is my own custom function, 
//but any other should do the same thing provided the address 
İlgili konular