16 August 2023

Baby Beginners

Welcome to Baby Beginners: Your Partner in Parenthood

Congratulations on your upcoming journey into parenthood! At Baby Beginners, we understand that this is a precious and transformative time in your life. That's why we're here to provide you with unparalleled support and guidance every step of the way. Our mission is to empower you with the knowledge and confidence you need to embrace your new role as parents.

Our Services

Preparing Your Nest: As you eagerly await the arrival of your little one, let us help you create a safe, comfortable, and nurturing environment for your baby. Our experts will provide personalised recommendations on setting up your home, from creating the perfect nursery to organising baby essentials in a practical and efficient manner.

Expert Advice: We know that every family is unique, and so is every baby. Our team of experienced professionals is available to answer your questions and offer tailored advice based on your specific circumstances. From sleep routines to feeding schedules, we're here to address your concerns and provide guidance that aligns with your family's values and lifestyle.

Around-the-Clock Support: Parenthood doesn't adhere to a 9-to-5 schedule, and neither do we. Our 24/7 support ensures that you can reach out to us whenever you need assistance. Whether it's a late-night feeding question or a moment of uncertainty, we're just a call or message away, ready to provide you with the reassurance you seek.

Why Choose Us?

Experience: With years of experience and a team of knowledgeable experts, Baby Beginners is your trusted partner in navigating the journey of parenthood. We've helped countless families find their way, and we're excited to do the same for you.

Personalized Approach: We understand that no two families are alike. That's why our services are tailor-made to suit your individual needs, preferences, and circumstances. Your journey is uniquely yours, and we're here to support you every step of the way.

Empowerment: Our goal is to empower you with the skills and confidence you need to embrace parenthood with open arms. We believe that well-informed parents are better equipped to make decisions that are right for their family.

Get Started Today

Are you ready to embark on this incredible journey with Baby Beginners? Let us be your companions on the road to parenthood. Contact us now to learn more about our services and how we can support you during this special time. Your new adventure begins here.

 

 

 Notes

 

Welcome,

This is the first website presence, other than FB, for Baby Beginners!

Veteran baby wrangler Claire with over two decades of experience of assisting new parents at all levels from midwife to all positions in a neonatal Intensive Care Unit.  Claire has the knowledge and can help you with:

questions

preparing your home

baby essentials and those 'essentials' you don't need

bespoke support for your individual circumstances

 

28 November 2021

Amazon Echo Devices Loose 5GHz Network Connection Overnight

Following a period of frustrated fault-finding, wondering and then determining why: what will cause an Amazon echo dot to lose its network connection?  The reason: one should be wary of marketing and always check the datasheet.  Advertised as 2.4 and 5GHz band capable the Amazon devices, unfortunately, do NOT fully implement the standards they purport to and instead only support a small subset of the many channels in the 5GHz band.

Hopefully, if you are experiencing similar trouble, you will find this post helpful and enable you to remedy your setup and avoid the 'incompatibilities' with the Echo Dot 2nd gen and loss of communication on a 5GHz wifi network.

Upon discovering the reason for the loss of communication and unsuccessful searches for a detailed technical specification of the device I decided to empirically test the capabilities of the Dot.

Test Methodology

I created a test network SSID (Test-5G) and manually iterated through the available channels checking if the network appeared during the network scan element of a new device in the Alexa app.

The AP used was a Meraki MR16 dual-radio 802.11n access point flashed with OpenWRT: 21.02.1.

The setting for the SSID was 40MHz bandwidth, 802.11n mode, WMM and short preamble.

Results


5GHz Channel

Dot Compatible

36

Yes

40

Yes

44

Yes

48

Yes

52

Selectable, but not capable*

56

No

60

No

64

No

100

No

104

No

108

No

112

No

116

No

120

No

124

No

128

No

132

No

136

No

140

No

149

No

153

No

157

No

161

No

165

No

*Note: attempts to use channel 52 failed. I decided to use channel 52 because there is little local usage on this channel, yet although selectable the Dot 2nd Gen refuses to connect.  The channel strength is also very low indicating potential adjacent-channel bleed onto channle 48, hence the pickup and option on the network selection screen.


  

2.4GHz Band Compatibility

For completeness, I performed the same tests in the 2.4GHz band, since depending where in the world you are channel availability is different.  Wikipedia has a great breakdown of the differences by standard and country.  Here in the UK we can use 2.4GHz channels 1 to 13 inclusive.  Unusually the USA are more permissive, but for the 2.4GHz band, only channels 1 to 11 are permitted.  Japan is the only country to allow channel 14. 

The Dot worked on each channel tested 1 to 13 inclusive.

Use of 2.4GHz Only Capable Device to Setup 5GHz Channels

Spot check using a 2.4GHz only capable tablet and the wifi scan data for 5GHz is obtained by the Echo Dot and passed to the app - nice if you don't have a 5GHz device available.  I'd encourage everyone to move as much kit to 5GHz to avoid/reduce RF congestion.

Conclusion

The implementation is flawed.  Either the design is deficient by only supporting a small sub-set of 5GHz channels or the promoted 5GHz capability requires caveats.  I would prefer a full implementation of the 5GHz band, but we don't live in an ideal or fair world, unfortunately.  The consequence, compounded by, I believe, the understandable default of automatic channel selection on the vast majority of consumer-grade wifi devices, is frustration, confusion and a non-working setup.  If you are lucky your APs use 5Ghz channels up to 48.  If not then use the congested 2.4GHz band or set your APs to a fixed channel between 36 to 48 inclusive.  Otherwise, your AP may change channels to the many more available in the 5GHz band and immediately your Echos will become much less useful...

Ta ta for now and I hope you found this helpful. 

    










15 September 2020

Python OpenCV Camera Example

This code creates displays a video feed in a window.

This code is based on this tutorial from the OpenCV documentation.  This code was tested on Windows 10, with version 4.0.0 of OpenCV. The Python version used was 3.7.7.  Python and OpenCV were installed as part of Anaconda.

The code

Start by importing the cv2 module, which will make available all the functionality we need to capture video from a camera.

1
import cv2

Then, to obtain video from a camera, we need to create an object of class VideoCapture. As input, the constructor of this class receives the index of the device we want to use. If we just have a single camera connected to the computer, we can simply pass the value 0.  I have a software virtual camera, for OBS Studio, at index 0, so to use the integrated webcam of my laptop I use an index of 1.

1
capture = cv2.VideoCapture(1)

This provides a handle to read the video from the camera frame by frame. This is achieved by calling the read method on or VideoCapture object.

This method takes no arguments and returns a tuple. The first returned value is a Boolean indicating if the frame was read correctly (True) or not (False).

We can use this value for error checking if we want to confirm no problem occurred while reading the frame. The second value returned by the read method is a numpy ndarray object representing the captured frame.

1
ret, frame = capture.read()

To display the captured frame call the imshow function of the cv2 module. This function will open a window and display the frame.

The first method argument is the window name, as a string. The second argument is the image to display.

1
cv2.imshow('video', frame)

To continuously read and display the frames, we need to repeat the two method calls. Note that when imshow is called multiple times for the same window, the new image overrides the existing one.

To avoid an infinite loop the waitKey function from cv2 can be used to check if a given key was pressed and the loop exited.

waitKey takes a delay argument in milliseconds to wait until a key is pressed. Since this is a blocking function and the code is displaying video the delay needs to be short.  A value of 1 millisecond works.

Note that the waitKey function returns the ASCII code of the pressed key.  The code assumes the ESC key is used to exit the loop. That key corresponds to the number 27.

1
2
if cv2.waitKey(1) == 27:
        break

The full loop can be seen below.

1
2
3
4
5
6
7
8
while(True):
     
    ret, frame = capture.read()
     
    cv2.imshow('video', frame)
     
    if cv2.waitKey(1) == 27:
        break

After the loop breaks, we no longer need to access the video, so we should release it with a call to the release method on the VideoCapture object.

1
capture.release()

To finalize, we will call the destroyAllWindows function of the cv2 module, to destroy the window we have created to show the frames of the camera.

1
cv2.destroyAllWindows()

The final code can be seen below.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import cv2
 
capture = cv2.VideoCapture(1)
 
while(True):
     
    ret, frame = capture.read()
     
    cv2.imshow('video', frame)
     
    if cv2.waitKey(1) == 27:
        break
 
capture.release()
cv2.destroyAllWindows()

To test the code, run the script making sure you have a camera attached. You should see a result similar to figure 1, which shows the window where the frames of the camera are being displayed.

After you click the ESC key the window should close and the script complete execution.